Thread Tools Display Modes
07-18-16, 12:25 PM   #1
bsmorgan
A Cobalt Mageweaver
AddOn Author - Click to view addons
Join Date: Mar 2005
Posts: 219
Scale entire frames

I am the maintainer of Skillet and I received an enhancement ticket about the text being too small. It turns out that the ticket author upgraded from a 22" to a 30" monitor because of his eyes. While World of Warcraft has a UI Scale, I'm wondering if it is possible to do the same thing on an addon by addon basis.

As you know, crafting a complex frame with lots of parts is a manual effort. What I want to know is if it wasn't designed to be scaled in the first place, is it possible (i.e. easy) to add a scaling factor at a high enough level to not render all the previous manual effort obsolete? If so, how?
  Reply With Quote
07-18-16, 12:49 PM   #2
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
Did I miss something with frame:SetScale(x)? That would be independent of the UI scale, sort of. If the UI scale is 0.7, then setting frame:SetScale(1) wouldn't change anything.

You might also want to look at GetEffectiveScale.
  Reply With Quote
07-18-16, 01:40 PM   #3
bsmorgan
A Cobalt Mageweaver
AddOn Author - Click to view addons
Join Date: Mar 2005
Posts: 219
Originally Posted by myrroddin View Post
Did I miss something with frame:SetScale(x)? That would be independent of the UI scale, sort of. If the UI scale is 0.7, then setting frame:SetScale(1) wouldn't change anything.

You might also want to look at GetEffectiveScale.
You didn't miss anything, I did! The previous authors implemented a scale slider in the Skillet Options. I just needed some guidance in what to look for and "SetScale" was the clue. I'd never used it before and there are comments like "Removed all :SetScale() calls, which crashes the Mac client" obviously designed to mislead me.

Thanks for kicking me in the right direction!
  Reply With Quote
07-18-16, 07:31 PM   #4
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
If you have an option for a slider, multiply the SV value by UIParent:GetEffectiveScale() or it will look really weird.
Code:
frame:SetScale(myDB.scale * UIParent:GetEffectiveScale())
  Reply With Quote
07-18-16, 07:38 PM   #5
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
Come to think about it, you might also want to read the notes on the main project page of LibUtilities. After a fair bit of R&D, the Y axis pixel height of any given screen important, especially if the number of pixels >= 1200 (which your user probably has).

I'm just musing that his whole UI scale may be wrong, or at least not optimal.
  Reply With Quote

WoWInterface » Developer Discussions » General Authoring Discussion » Scale entire frames


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off