• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by hkessock · Dec 21, 2013 at 02:39 AM · labelguistyle

GUIStyle.CalcSize appears to break when your style specifies padding

I have a GUIStyle derived from GUI.skin.label.

I set a few properties on that style such as the alignment and fontsize, then I iterate through fonts sizes until I find the largest font that will fit my rect.

This works great, right up until the point I put padding around the label, then CalcSize goes beserk returning back heights that are orders of magnitude larger than the actual height.

l_oLabelStyle.alignment = TextAnchor.MiddleCenter; l_oLabelStyle.fontSize = 36;

The above has no problems with CalcSize.

l_oLabelStyle.padding = new RectOffset( 30, 30, 30, 30 );

The line above causes everything to go haywire. The CalcSize seems to be returning back a reasonable width in this case, but the height is astronomically large.

Without touching the padding, I get back a reasonable height of 47.

With padding I get 3936 for the height...

Other caveats are that I am using setting GUI.matrix elsewhere to scale my GUI code to the runtime resolution. The scale is roughly 0.5 on X and Y.

Anybody run into this before?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by hkessock · Dec 21, 2013 at 03:34 AM

Seems like I misunderstood the relationship between CalcSize and CalcHeight. It seems like you should either use CalcSize or both together, but in reality, you simply use CalcHeight unless you can't word wrap.

Issues resolved now. I was confused because of the odd difference in data types they return.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

18 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How to get the number of lines in a GUI.Label by setting a max width. 2 Answers

GUIStyle returning error (error inside) 1 Answer

guistyle.CalcSize returning unexpected values... 2 Answers

GUIStyle.CalcSize giving wrong answer 0 Answers

GUILayout.Label - WordWrap and FontSize issue. 2 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges