Wikia

WoWWiki

Widget API

Talk27
102,280pages on
this wiki
Revision as of 22:13, December 15, 2012 by Asett (Talk | contribs)

This Widget API reference and the term Widget refer to the UIObject Lua API and the specific APIs of those Lua UIObjects found in WoW. This is a list of all of the Widget API UIObject specific functions found by scanning the in-game environment. You may also be interested in the various Widget handlers and XML UI.

Root Widgets

UIObject

This is an abstract UI object type which cannot actually be created. It's a base of all UI objects and gathers together some of common methods which have identical behaviours across all widget types. See UIObject object information for details.

Object:GetParent() - Moved from Region:GetParent(). This is essentially the same as the old version, except that you can no longer assume that your object has a Frame type in its hierarchy somewhere.
UIObject:GetAlpha() - Return this object's alpha (transparency) value.
UIObject:GetName() - Return the name of the object.
UIObject:GetObjectType() - Get the type of this object.
UIObject:IsObjectType("type") - Determine if this object is of the specified type, or a subclass of that type.
UIObject:SetAlpha(alpha) - Set the object's alpha (transparency) value.

UIObject Derivatives

AnimationGroup

This manages playback, order, and looping of its child Animations. Animations in a group will play in ascending order according to their order fields (accessible via SetOrder and GetOrder). If two or more Animations have the same order value, then they will play simultaneously. The next animation will not play until all Animations with that order value are done. New in 3.1.0

AnimationGroup:Play() - Start playing the animations in this group.
AnimationGroup:Pause() - Pause the animations in this group.
AnimationGroup:Stop() - Stop all animations in this group.
AnimationGroup:Finish() - Notify this group to stop playing once the current loop cycle is done. Does nothing if this group is not playing.
AnimationGroup:GetProgress() - Returns the progress of this animation as a unit value [0,1].
AnimationGroup:IsDone() - Returns true if the group has finished playing.
AnimationGroup:IsPlaying() - Returns true if the group is playing.
AnimationGroup:IsPaused() - Returns true if the group is paused.
AnimationGroup:GetDuration() - Gets the total duration across all child Animations that the group will take to complete one loop cycle.
AnimationGroup:SetLooping(loopType) - Sets the type of looping for the group. Input is [NONE, REPEAT, or BOUNCE].
AnimationGroup:GetLooping() - Gets the type of looping for the group.
AnimationGroup:GetLoopState() - Gets the current loop state of the group. Output is [NONE, FORWARD, or REVERSE].
AnimationGroup:CreateAnimation("animationType", ["name"[,"inheritsFrom"]]) - Create and return an Animation as a child of this group.
AnimationGroup:HasScript("handler") - Same as Frame:HasScript. Input is [OnLoad, OnPlay, OnPaused, OnStop, OnFinished, OnUpdate].
AnimationGroup:GetScript("handler") - Same as Frame:GetScript. Input is [OnLoad, OnPlay, OnPaused, OnStop, OnFinished, OnUpdate].
AnimationGroup:SetScript("handler", function) - Same as Frame:SetScript. Input is [OnLoad, OnPlay, OnPaused, OnStop, OnFinished, OnUpdate].

Animation

This is a base animation type. This handles all animation timing and bookkeeping. An animation tag must always be parented by an AnimationGroup tag.

Animation:Play() - Play the animation.
Animation:Pause() - Pause the animation.
Animation:Stop() - Stop the animation.
Animation:IsDone() - Returns true if the animation has finished playing.
Animation:IsPlaying() - Returns true if the animation is playing.
Animation:IsPaused() - Returns true if the animation is paused.
Animation:IsStopped() - Returns true if the animation is stopped.
Animation:IsDelaying() - Returns true if the animation is in the middle of a start or end delay.
Animation:GetElapsed() - Gets the amount of time in seconds that the animation has been playing for.
Animation:SetStartDelay(delaySec) - Set the number of seconds that the animation delays before it starts to progress.
Animation:GetStartDelay() - Get the number of seconds that the animation delays before it starts to progress.
Animation:SetEndDelay(delaySec) - Set the number of seconds the animation delays after finishing.
Animation:GetEndDelay() - Get the number of seconds the animation delays after finishing.
Animation:SetDuration(durationSec) - Set the number of seconds it takes for the animation to progress from start to finish.
Animation:GetDuration() - Get the number of seconds it takes for the animation to progress from start to finish.
Animation:GetProgress() - Returns the progress of the animation as a unit value [0,1]. Ignores start and end delay.
Animation:GetSmoothProgress() - Returns a smoothed, [0,1] progress value for the animation.
Animation:GetProgressWithDelay() - Returns the progress of the animation combined with its start and end delay.
Animation:SetMaxFramerate(framerate) - Sets the maximum frames per second that the animation will update its progress.
Animation:GetMaxFramerate() - Gets the maximum frames per second that the animation will update its progress.
Animation:SetOrder(order) - Sets the order that the animation plays within its parent group. Range is [1,100].
Animation:GetOrder() - Gets the order of the animation within its parent group.
Animation:SetSmoothing(smoothType) - Sets the smoothing type for the animation. Input is [IN,OUT,IN_OUT, or OUT_IN].
Animation:GetSmoothing() - Gets the smoothing type for the animation.
Animation:SetParent(animGroup or "animGroupName") - Sets the parent for the animation. If the animation was not already a child of the parent, the parent will insert the animation into the proper order amongst its children.
Animation:GetRegionParent() - Gets the Region object that the animation operates on. The region object is this Animation's parent's parent (the AnimationGroup's parent).
Animation:HasScript("handler") - Same as Frame:HasScript, Input is [OnLoad, OnPlay, OnPaused, OnStop, OnFinished, OnUpdate].
Animation:GetScript("handler") - Same as Frame:GetScript, Input is [OnLoad, OnPlay, OnPaused, OnStop, OnFinished, OnUpdate].
Animation:SetScript("handler") - Same as Frame:SetScript, Input is [OnLoad, OnPlay, OnPaused, OnStop, OnFinished, OnUpdate].

FontInstance

This is another abstract object type that groups together a number of font related methods that are used by multiple other widget types. This doesn't have a direct correlation to a UI object. See FontInstance object information for details.

FontInstance has all of the methods from UIObject, plus the following:

FontInstance:GetFont() - Return the font file, height, and flags.
FontInstance:GetFontObject() - Return the 'parent' Font object, or nil if none.
FontInstance:GetJustifyH() - Return the horizontal text justification.
FontInstance:GetJustifyV() - Return thevertical text justification.
FontInstance:GetShadowColor() - Returns the color of text shadow (r, g, b, a).
FontInstance:GetShadowOffset() - Returns the text shadow offset (x, y).
FontInstance:GetSpacing() - Returns the text spacing.
FontInstance:GetTextColor() - Returns the default text color.
FontInstance:SetFont("path", height[,"flags"]) - Sets the font to use for text, returns 1 if the path was valid, nil otherwise (no change occurs).
FontInstance:SetFontObject(fontObject) - Sets the 'parent' Font object from which this object inherits properties.
FontInstance:SetJustifyH("justifyH") - Sets horizontal text justification ("LEFT","RIGHT", or "CENTER")
FontInstance:SetJustifyV("justifyV") - Sets vertical text justification ("TOP","BOTTOM", or "MIDDLE")
FontInstance:SetShadowColor(r, g, b[, a]) - Sets the text shadow color.
FontInstance:SetShadowOffset(x, y) - Sets the text shadow offset.
FontInstance:SetSpacing(spacing) - Sets the spacing between lines of text in the object.
FontInstance:SetTextColor(r, g, b[, a]) - Sets the default text color.

Region

This is an abstract object type which cannot actually be created. It gathers together a number of common methods which have identical behaviours across all widget types. This object contains a collection of methods that are related to the size, location and visibility of a widget. Note that it is not directly related to Frame:GetRegions() et al. See Region object information for details.

Region has all of the methods from UIObject, plus the following:

Region:ClearAllPoints() - Clear all attachment points for this object.
Region:CreateAnimationGroup(["name"[,"inheritsFrom"]]) - Create and return a new AnimationGroup as a child of this Region. - New in 3.1.0
Region:GetAnimationGroups() - Returns all AnimationGroups that are children of this Region. - New in 3.1.0
Region:GetBottom() - Get the y location of the bottom edge of this frame - Moved in 1.10.
Region:GetCenter() - Get the coordinates of the center of this frame - Moved in 1.10.
Region:GetHeight() - Get the height of this object.
Region:GetLeft() - Get the x location of the left edge of this frame - Moved in 1.10.
Region:GetNumPoints() - Get the number of anchor points for this frame - New in 1.10.
Region:GetPoint(pointNum) - Get details for an anchor point for this frame (point, relativeTo, relativePoint, xofs, yofs) - New in 1.10.
Region:GetRect() - Get frame's left, bottom, width, height.
Region:GetRight() - Get the x location of the right edge of this frame - Moved in 1.10.
Region:GetSize() - Get the width and height of the frame
Region:GetTop() - Get the y location of the top edge of this frame - Moved in 1.10.
Region:GetWidth() - Get the width of this object.
Region:Hide() - Set this object to hidden (it and all of its children will disappear).
Region:IsDragging() - True if this Region or its Parent is being dragged. - New in 3.1.0
Region:IsProtected() - Determine if this object can be manipulated in certain ways by tainted code in combat or not
Region:IsShown() - Determine if this object is shown (would be visible if its parent was visible).
Region:IsVisible() - Get whether the object is visible on screen (logically (IsShown() and GetParent():IsVisible()));
Region:SetAllPoints(frame or "frameName") - Set all anchors to match edges of specified frame - Moved in 1.10.
Region:SetHeight(height) - Set the height of the object.
Region:SetParent(parent or "parentName") - Set the parent for this frame - Moved in 1.10.
Region:SetPoint("point","relativeFrame" or relativeObject,"relativePoint"[, xOfs, yOfs]) - Set an attachment point of this object - Updated in 1.10. Since 2.2 cooordinates are now relative to the closest anchor point
Region:SetSize(width, height) - Set the region's width and height
Region:SetWidth(width) - Set the width of the object.
Region:Show() - Set this object to shown (it will appear if its parent is visible).
Region:StopAnimating() - Stops any active animations on the Region and its children. - New in 3.1.0

Animation Derivatives

Translation

This is an affine transformation that moves a parent Region by an offset. Translation has all of the methods of Animation, plus the following:

Translation:SetOffset(x, y) - Sets the offset that the animation's parent Region would travel.
Translation:GetOffset() - Gets the offset that the animation's parent Region would travel.

Rotation

This is an affine transformation that rotates a parent Region about an origin. Rotation has all of the methods of Animation, plus the following:

Rotation:SetDegrees(degrees) - Sets the amount of degrees that the animation's parent Region would rotate.
Rotation:GetDegrees() - Gets the amount of degrees that the animation's parent Region would rotate.
Rotation:SetRadians(radians) - Sets the amount of radians that the animation's parent Region would travel.
Rotation:GetRadians() - Gets the amount of radians that the animation's parent Region would travel.
Rotation:SetOrigin(point, offsetX, offsetY) - Sets the animation's origin of rotation for its parent Region.
Rotation:GetOrigin() - Gets the point, X offset, and Y offset of the animation's origin of rotation for its parent Region.

Scale

This is an affine transformation that scales a parent Region about an origin. The scale can be non-uniform. Scale has all of the methods of Animation, plus the following:

Scale:SetScale(x, y) - Sets the X scalar and the Y scalar that the animation's parent Region should scale by.
Scale:GetScale() - Gets the X scalar and the Y scalar that the animation's parent Region should scale by.
Scale:SetOrigin(point, offsetX, offsetY) - Sets the animation's origin of rotation for its parent Region.
Scale:GetOrigin() - Gets the point, X offset, and Y offset of the animation's origin of rotation for its parent Region.

Alpha

This animation changes the alpha value of its parent region. Alpha has all of the methods of Animation plus the following:

Alpha:SetChange(change) - Sets the amount that the alpha value of this animation's parent Region changes by.
Alpha:GetChange() - Gets the amount that the alpha value of this animation's parent Region changes by.

FontInstance Derivatives

Font

This object was introduced in 1.10 to replace virtual FontStrings, it allows for dynamic inheritance of font template changes. The standard UI fonts such as GameFontNormal are now Font objects. See Font object information for details.

Font has all of the methods from UIObject and FontInstance, plus the following:

Font:CopyFontObject(otherFont) - Set this Font's attributes to be a copy of the otherFont font object's.

The following Frame Derivatives also inherit all of the functions of the FontInstance type:

The following LayeredRegion Derivatives also inherit all of the functions of the FontInstance type:

Region Derivatives

Frame

See Frame object information for details.

Frame has all of the methods from UIObject and Region, plus the following:

Frame:CreateFontString(["name"[,"layer"[,"inheritsFrom"]]]) - Create and return a new FontString as a child of this Frame - Can instantiate virtuals in 1.11.
Frame:CreateTexture(["name"[,"layer"]][,"inheritsFrom"]) - Create and return a new Texture as a child of this Frame. Good for solid colors. - Can instantiate virtuals in 1.11.
Frame:CreateTitleRegion() - Create a title region for the frame if it does not have one. - New in 1.11
Frame:DisableDrawLayer("layer") - Disable rendering of "regions" (fontstrings, textures) in the specified draw layer.
Frame:EnableDrawLayer("layer") - Enable rendering of "regions" (fontstrings, textures) in the specified draw layer.
Frame:EnableKeyboard(enableFlag) - Set whether this frame will get keyboard input.
Frame:EnableMouse(enableFlag) - Set whether this frame will get mouse input.
Frame:EnableMouseWheel(enableFlag) - Set whether this frame will get mouse wheel notifications.
Frame:GetAttribute(prefix, name, suffix) - Returns the first existing attribute of (prefix..name..suffix), ("*"..name..suffix), (prefix..name.."*"), ("*"..name.."*"), (name).
Frame:GetBackdrop() - Creates and returns a backdrop table suitable for use in SetBackdrop - New in 1.11.
Frame:GetBackdropBorderColor() - Gets the frame's backdrop border color (r, g, b, a)- New in 1.11.
Frame:GetBackdropColor() - Gets the frame's backdrop color (r, g, b, a)- New in 1.11.
Frame:GetChildren() - Get the list of "children" (frames and things derived from frames) of this frame.
Frame:GetClampRectInsets() - Gets the modifiers to the frame's rectangle used for clamping the frame to screen.
Frame:GetDepth() - New in 3.0.8
Frame:GetEffectiveAlpha() - Returns the effective alpha of a frame. - Since 2.1.
Frame:GetEffectiveDepth() - New in 3.0.8
Frame:GetEffectiveScale() - Get the scale factor of this object relative to the root window.
Frame:GetFrameLevel() - Get the level of this frame.
Frame:GetFrameStrata() - Get the strata of this frame.
Frame:GetFrameType() - Get the type of this frame.
Frame:GetHitRectInsets() - Gets the frame's hit rectangle inset distances (l, r, t, b) - new in 1.11.
Frame:GetID() - Get the ID of this frame.
Frame:GetMaxResize() - Gets the frame's maximum allowed resize bounds (w, h) - new in 1.11.
Frame:GetMinResize() - Gets the frame's minimum allowed resize bounds (w, h) - new in 1.11.
Frame:GetNumChildren() - Get the number of "children" (frames and things derived from frames) this frame has.
Frame:GetNumRegions() - Return the number of "regions" (fontstrings, textures) belonging to this frame.
Frame:GetRegions() - Return the "regions" (fontstrings, textures) of the frame (multiple return values) belonging to this frame.
Frame:GetScale() - Get the scale factor of this object relative to its parent.
Frame:GetScript("handler") - Get the function for one of this frame's handlers.
Frame:GetTitleRegion() - Return the frame's title region - New in 1.11.
Frame:HasScript("handler") - Return true if the frame can be given a handler of the specified type (NOT whether it actually HAS one, use GetScript for that) - Since 1.8.
Frame:HookScript("handler", function) - Hook a secure frame script. - Since 2.1.
Frame:IgnoreDepth(ignoreFlag) - New in 3.0.8
Frame:IsClampedToScreen() - Gets whether the frame is prohibited from being dragged off screen - New in 1.11.
Frame:IsEventRegistered("event") - Returns true if the given event is registered to the frame. - New in 2.3
Frame:IsFrameType("type") - Determine if this frame is of the specified type, or a subclass of that type.
Frame:IsIgnoringDepth() - New in 3.0.8
Frame:IsKeyboardEnabled() - Get whether this frame will get keyboard input. - New in 1.11.
Frame:IsMouseEnabled() - Get whether this frame will get mouse input. - New in 1.11.
Frame:IsMouseWheelEnabled() - Get whether this frame will get mouse wheel notifications. New in 1.11.
Frame:IsMovable() - Determine if the frame can be moved.
Frame:IsResizable() - Determine if the frame can be resized.
Frame:IsToplevel() - Get whether the frame is set as toplevel - New in 1.10.2.
Frame:IsUserPlaced() - Determine if this frame has been relocated by the user.
Frame:Lower() - Lower this frame behind other frames.
Frame:Raise() - Raise this frame above other frames.
Frame:RegisterAllEvents() - Register this frame to receive all events (For debugging purposes only!) - New in 1.11.
Frame:RegisterEvent("event") - Indicate that this frame should be notified when event occurs.
Frame:RegisterForDrag("buttonType"[,"buttonType"...]) - Inidicate that this frame should be notified of drag events for the specified buttons.
Frame:SetBackdrop([backdropTable]) - Set the backdrop of the frame according to the specification provided.
Frame:SetBackdropBorderColor(r, g, b[, a]) - Set the frame's backdrop's border's color.
Frame:SetBackdropColor(r, g, b[, a]) - Set the frame's backdrop color.
Frame:SetClampedToScreen(clamped) - Set whether the frame is prohibited from being dragged off screen - New in 1.11.
Frame:SetClampRectInsets(left, right, top, bottom) - Modify the frame's rectangle used to prevent dragging offscreen.
Frame:SetDepth(depth) - New in 3.0.8
Frame:SetFrameLevel(level) - Set the level of this frame (determines which of overlapping frames shows on top).
Frame:SetFrameStrata("strata") - Set the strata of this frame.
Frame:SetHitRectInsets(left, right, top, bottom) - Set the inset distances for the frame's hit rectangle - New in 1.11.
Frame:SetID(id) - Set the ID of this frame.
Frame:SetMaxResize(maxWidth, maxHeight) - Set the maximum dimensions this frame can be resized to.
Frame:SetMinResize(minWidth, minHeight) - Set the minimum dimensions this frame can be resized to.
Frame:SetMovable(isMovable) - Set whether the frame can be moved.
Frame:SetResizable(isResizable) - Set whether the frame can be resized.
Frame:SetScale(scale) - Set the scale factor of this frame relative to its parent.
Frame:SetScript("handler", function) - Set the function to use for a handler on this frame.
Frame:SetToplevel(isTopLevel) - Set whether the frame should raise itself when clicked - New in 1.10.2.
Frame:SetUserPlaced(isUserPlaced) - Set whether the frame has been relocated by the user (and will thus be saved in the layout cache).
Frame:StartMoving() - Start moving this frame.
Frame:StartSizing("point") - Start sizing this frame using the specified anchor point.
Frame:StopMovingOrSizing() - Stop moving and/or sizing this frame.
Frame:UnregisterAllEvents() - Indicate that this frame should no longer be notified when any events occur.
Frame:UnregisterEvent("event") - Indicate that this frame should no longer be notified when event occurs.

LayeredRegion

Another abstract type, for objects that represent only a rendering process onto the screen, rather than a full blown frame. (See LayeredRegion object information for details) LayeredRegion has all of the methods from UIObject and Region, plus the following:

LayeredRegion:GetDrawLayer() - Returns the draw layer for the Region - New in 1.10.
LayeredRegion:SetDrawLayer("layer") - Sets the draw layer for the Region - New in 1.10.
LayeredRegion:SetVertexColor(r, g, b[, alpha])

Frame Derivatives

Button

See Button object information for details.

Button has all of the methods from UIObject, Region and Frame, plus the following:

Button:Click() - Execute the click action of the button.
Button:Disable() - Disable the Button so that it cannot be clicked.
Button:Enable() - Enable to the Button so that it may be clicked.
Button:GetButtonState() - Return the current state ("PUSHED","NORMAL") of the Button.
Button:GetDisabledFontObject() - Return the font object for the Button when disabled - New in 1.10.
REMOVED Button:GetDisabledTextColor() - Get the color of this button's text when disabled (r, g, b, a) - New in 1.11. (removed 3.0.2)
Button:GetDisabledTexture() - Get the texture for this button when disabled - New in 1.11.
REMOVED Button:GetFont() - Returns the font, size, and flags currently used for display on the Button. (removed 3.0.2)
Button:GetFontString() - Get this button's label FontString - New in 1.11.
Button:GetHighlightFontObject() - Return the font object for the Button when highlighted - New in 1.10.
REMOVED Button:GetHighlightTextColor() - Get the color of this button's text when highlighted (r, g, b, a) - New in 1.11. (removed 3.0.2)
Button:GetHighlightTexture() - Get the texture for this button when highlighted - New in 1.11.
Button:GetNormalTexture() - Get the normal texture for this button - New in 1.11.
Button:GetNormalFontObject() - Get the Normal Font Object of the button - new in 3.0.0.
Button:GetPushedTextOffset() - Get the text offset when this button is pushed (x, y) - New in 1.11.
Button:GetPushedTexture() - Get the texture for this button when pushed - New in 1.11.
Button:GetText() - Get the text label for the Button.
REMOVED Button:GetTextColor() - Get the normal color of this button's text (r, g, b, a) - New in 1.11. (removed 3.0.2)
REMOVED Button:GetTextFontObject() - Return the font object for the Button's normal text - New in 1.10. (removed 3.0.2)
Button:GetTextHeight() - Get the height of the Button's text.
Button:GetTextWidth() - Get the width of the Button's text.
Button:IsEnabled() - Determine whether the Button is enabled.
Button:LockHighlight() - Set the Button to always be drawn highlighted.
Button:RegisterForClicks("clickType"[,"clickType"...]) - Specify which mouse button up/down actions cause this button to receive an OnClick notification.
Button:SetButtonState("state"[, lock]) - Set the state of the Button ("PUSHED", "NORMAL") and whether it is locked.
Button:SetDisabledFontObject([font]) - Set the font object for settings when disabled - New in 1.10.
REMOVED Button:SetDisabledTextColor(r, g, b[, a]) - Set the disabled text color for the Button. (removed 4.0.1)
Button:SetDisabledTexture(texture or "texturePath") - Set the disabled texture for the Button - Updated in 1.10.
Button:SetFont("font", size[,"flags"]) - Set the font to use for display.
Button:SetFontString(fontString) - Set the button's label FontString - New in 1.11.
Button:SetFormattedText("formatstring"[, ...]) - Set the formatted text label for the Button. - New in 2.3.
Button:SetHighlightFontObject([font]) - Set the font object for settings when highlighted - New in 1.10.
REMOVED Button:SetHighlightTextColor(r, g, b[, a]) - Set the highlight text color for the Button. (removed 4.0.1)
Button:SetHighlightTexture(texture or "texturePath"[,alphaMode]) - Set the highlight texture for the Button - Updated in 1.10.
Button:SetNormalTexture(texture or "texturePath") - Set the normal texture for the Button - Updated in 1.10.
Button:SetNormalFontObject(FontString) - Replaces SetTextFontObject - Updated in 3.00
Button:SetPushedTextOffset(x, y) - Set the text offset for this button when pushed - New in 1.11.
Button:SetPushedTexture(texture or "texturePath") - Set the pushed texture for the Button - Updated in 1.10.
Button:SetText("text") - Set the text label for the Button.
REMOVED Button:SetTextColor(r, g, b) - Set the text color for the Button. (removed 3.0.2)
REMOVED Button:SetTextFontObject([font]) - Set the font object from which to get settings for this Button's normal state - New in 1.10. (removed 3.0.2)
Button:UnlockHighlight() - Set the Button to not always be drawn highlighted.

Cooldown

Cooldown has all of the methods from UIObject, Region and Frame, plus the following:

Cooldown:GetReverse() -- returns true or false
Cooldown:SetCooldown(Start, Duration)
Cooldown:SetReverse(boolean)

ColorSelect

See ColorSelect object information for details.

ColorSelect has all of the methods from UIObject, Region and Frame, plus the following:

ColorSelect:GetColorHSV() - Get the HSV values of the selected color.
ColorSelect:GetColorRGB() - Get the RGB values of the selected color.
ColorSelect:GetColorValueTexture() - Get the texture used to show color value - new in 1.11.
ColorSelect:GetColorValueThumbTexture() - Get the texture for the color value thumb - New in 1.11.
ColorSelect:GetColorWheelTexture() - Get the texture for the color wheel - New in 1.11.
ColorSelect:GetColorWheelThumbTexture() - Get the texture for the color wheel thumb - New in 1.11.
ColorSelect:SetColorHSV(h, s, v) - Set to a specific HSV color.
ColorSelect:SetColorRGB(r, g, b) - Set to a specific RGB color.
ColorSelect:SetColorValueTexture(texture or nil) - Set the texture used to show color value - New in 1.11.
ColorSelect:SetColorValueThumbTexture(texture or "texture" or nil) - Set the texture for the color value thumb - New in 1.11.
ColorSelect:SetColorWheelTexture(texture or nil) - Set the texture for the color wheel - New in 1.11.
ColorSelect:SetColorWheelThumbTexture(texture or "texture" or nil) - Set the texture for the color wheel thumb - New in 1.11.

EditBox

See EditBox object information for details.

EditBox has all of the methods from UIObject, FontInstance, Region and Frame, plus the following:

EditBox:AddHistoryLine("text") - Add text to the edit history.
EditBox:ClearFocus()
EditBox:GetAltArrowKeyMode() - Return whether only alt+arrow keys work for navigating the edit box, not arrow keys alone.
EditBox:GetBlinkSpeed() - Gets the blink speed of the EditBox in seconds - New in 1.11.
EditBox:GetCursorPosition() - Gets the position of the cursor inside the EditBox - New in 2.3.
EditBox:GetHistoryLines() - Get the number of history lines for this edit box
EditBox:GetHyperlinksEnabled() - New in 3.0.8
EditBox:GetInputLanguage() - Get the input language (locale based not in-game)
EditBox:GetMaxBytes() - Gets the maximum number bytes allowed in the EditBox - New in 1.11.
EditBox:GetMaxLetters() - Gets the maximum number of letters allowed in the EditBox - New in 1.11.
EditBox:GetNumLetters() - Gets the number of letters in the box.
EditBox:GetNumber()
EditBox:GetText() - Get the current text contained in the edit box.
EditBox:GetTextInsets() - Gets the text display insets for the EditBox - New in 1.11.
EditBox:HighlightText([startPos, endPos]) - Set the highlight to all or some of the edit box text.
EditBox:Insert("text") - Insert text into the edit box.
EditBox:IsAutoFocus() - Determine if the EditBox has autofocus enabled - New in 1.11.
EditBox:IsMultiLine() - Determine if the EditBox accepts multiple lines - New in 1.11.
EditBox:IsNumeric() - Determine if the EditBox only accepts numeric input - New in 1.11.
EditBox:IsPassword() - Determine if the EditBox performs password masking - New in 1.11.
EditBox:SetAltArrowKeyMode(enable) - Make only alt+arrow keys work for navigating the edit box, not arrow keys alone.
EditBox:SetAutoFocus(state) - Set whether or not the editbox will attempt to get input focus when it gets shown (default: true) - New in 1.11.
EditBox:SetBlinkSpeed
EditBox:SetCursorPosition(position) - Set the position of the cursor within the EditBox - New in 2.3.
EditBox:SetFocus() - Move input focus (the cursor) to this editbox
EditBox:SetFont("font", size[,"flags"]) - Set the font to use for display.
EditBox:SetHistoryLines() - Set the number of history lines to remember.
EditBox:SetHyperlinksEnabled(enableFlag) - New in 3.0.8
EditBox:SetMaxBytes(maxBytes) - Set the maximum byte size for entered text.
EditBox:SetMaxLetters(maxLetters) - Set the maximum number of letters for entered text.
EditBox:SetMultiLine(state) - Set the EditBox's multi-line state - New in 1.11.
EditBox:SetNumber(number)
EditBox:SetNumeric(state) - Set if the EditBox only accepts numeric input - New in 1.11.
EditBox:SetPassword(state) - Set the EditBox's password masking state - New in 1.11.
EditBox:SetText("text") - Set the text contained in the edit box.
EditBox:SetTextInsets(l, r, t, b)
EditBox:ToggleInputLanguage()

GameTooltip

The tooltip automatically resizes itself when its Show() method is called. See GameTooltip object information for details.

GameTooltip has all of the methods from UIObject, Region and Frame, plus the following:

GameTooltip:AddDoubleLine(textL, textR, rL, gL, bL, rR, gR, bR)
GameTooltip:AddFontStrings(leftstring, rightstring) - Dynamically expands the size of a tooltip - New in 1.11.
GameTooltip:AddLine("tooltipText" [, textColor.r, textColor.g, textColor.b [, wrapText]]) - Appends the new line to the tooltip.
GameTooltip:AddTexture("texture") - Add a texture to the last line added.
GameTooltip:AppendText("text") - Append text to the end of the first line of the tooltip.
GameTooltip:ClearLines() - Clear all lines of tooltip (both left and right ones)
GameTooltip:FadeOut
GameTooltip:GetAnchorType() - Returns the current anchoring type.
GameTooltip:GetItem() - Returns name, link.
GameTooltip:GetMinimumWidth() -
GameTooltip:GetSpell() - Returns name, rank.
GameTooltip:GetOwner() - Returns owner frame, anchor.
GameTooltip:GetUnit() - Returns unit name, unit id.
GameTooltip:IsUnit("unit") - Returns bool.
GameTooltip:NumLines() - Get the number of lines in the tooltip.
GameTooltip:SetAction(slot) - Shows the tooltip for the specified action button.
GameTooltip:SetAuctionCompareItem("type", index[, offset])
GameTooltip:SetAuctionItem("type", index) - Shows the tooltip for the specified auction item.
GameTooltip:SetAuctionSellItem
GameTooltip:SetBackpackToken(id) -
GameTooltip:SetBagItem(bag, slot)
GameTooltip:SetBuybackItem
REMOVED GameTooltip:SetCraftItem (removed 3.0.2)
REMOVED GameTooltip:SetCraftSpell (removed 3.0.2)
GameTooltip:SetCurrencyToken(tokenId) - Shows the tooltip for the specified token
GameTooltip:SetFrameStack(showhidden) - Shows the mouseover frame stack, used for debugging.
GameTooltip:SetGlyph(id) -
GameTooltip:SetGuildBankItem(tab, id) - Shows the tooltip for the specified guild bank item
GameTooltip:SetHyperlink("itemString" or "itemLink") - Changes the item which is displayed in the tooltip according to the passed argument.
GameTooltip:SetHyperlinkCompareItem("itemLink", index) - Sets a comparison tooltip to show the index'th comparison item to the item specified as link. Will return a true value if there is an index'th comparison item (index is 1 through 3)
GameTooltip:SetInboxItem(index) - Shows the tooltip for the specified mail inbox item.
GameTooltip:SetInventoryItem(unit, slot[, nameOnly])
GameTooltip:SetLootItem
GameTooltip:SetLootRollItem(id) - Shows the tooltip for the specified loot roll item.
GameTooltip:SetMerchantCompareItem("slot"[, offset])
GameTooltip:SetMerchantItem
GameTooltip:SetMinimumWidth(width) - (Formerly SetMoneyWidth)
GameTooltip:SetOwner(owner, "anchor"[, +x, +y])
GameTooltip:SetPadding
GameTooltip:SetPetAction(slot) - Shows the tooltip for the specified pet action.
REMOVED GameTooltip:SetPlayerBuff(buffIndex) - Direct the tooltip to show information about a player's buff. (removed 3.0.2)
GameTooltip:SetQuestItem
GameTooltip:SetQuestLogItem
GameTooltip:SetQuestLogRewardSpell - Shows the tooltip for the spell reward of the currently selected quest.
GameTooltip:SetQuestRewardSpell
GameTooltip:SetSendMailItem
GameTooltip:SetShapeshift(slot) - Shows the tooltip for the specified shapeshift form.
GameTooltip:SetSpell(spellId, bookType) - Shows the tooltip for the specified spell.
GameTooltip:SetTalent(tabIndex, talentIndex) - Shows the tooltip for the specified talent.
GameTooltip:SetText("text", r, g, b[, alphaValue[, textWrap]]) - Set the text of the tooltip.
GameTooltip:SetTracking
GameTooltip:SetTradePlayerItem
GameTooltip:SetTradeSkillItem
GameTooltip:SetTradeTargetItem
GameTooltip:SetTrainerService
GameTooltip:SetUnit
GameTooltip:SetUnitAura("unitId", auraIndex[, filter]) - Shows the tooltip for a unit's aura. (Exclusive to 3.x.x / WotLK)
GameTooltip:SetUnitBuff("unitId", buffIndex[, raidFilter]) - Shows the tooltip for a unit's buff.
GameTooltip:SetUnitDebuff("unitId", buffIndex[, raidFilter]) - Shows the tooltip for a unit's debuff.

MessageFrame

See MessageFrame object information for details.

MessageFrame has all of the methods from UIObject, FontInstance, Region and Frame, plus the following:

MessageFrame:AddMessage("text", r, g, b, messageGroup, holdTime) - Add a message to the frame which will fade eventually.
MessageFrame:Clear() - Clear the messages from the frame - New in 1.11.
MessageFrame:GetFadeDuration() - Gets the fade duration in seconds - New in 1.11.
MessageFrame:GetFading() - Get whether the frame is fading - New in 1.11.
MessageFrame:GetInsertMode() - Get the insert mode for the frame - New in 1.11.
MessageFrame:GetTimeVisible() - Get the message visibility time in seconds - New in 1.11.
MessageFrame:SetFadeDuration(seconds) - Set the fade duration - New in 1.11.
MessageFrame:SetFading(status) - Set whether the frame fades messages - New in 1.11.
MessageFrame:SetInsertMode("TOP" or "BOTTOM") - Set where new messages are inserted - New in 1.11.
MessageFrame:SetTimeVisible(seconds) - Sets the message visibility time - New in 1.11.

Minimap

See Minimap object information for details

  • Note: Tracking dots malfunction if you have multiple instances of this widget that are different sizes/zooms.
  • Note: (Mac OS X only) Modifying the Minimap opacity via SetAlpha() will make it turn black indoors.

Minimap has all of the methods from UIObject, Region and Frame, plus the following:

Minimap:GetPingPosition() - Get the last ping location.
Minimap:GetZoom() - Get the current zoom level.
Minimap:GetZoomLevels() - Get the maximum zoom level.
Minimap:PingLocation(x, y) - Perform a ping at the specified location. As of 2.4.2 protected while targeting area of effect spells.
Minimap:SetArrowModel("file") - Set the file to use for the arrow model - New in 1.11.
Minimap:SetBlipTexture - Set the file to use for blips (ObjectIcons)
Minimap:SetIconTexture
Minimap:SetMaskTexture
Minimap:SetPlayerModel("file") - Set the file to use for the player model - New in 1.11.
Minimap:SetZoom(level) - Set the current zoom level.

Model

Used to display real 3D-mesh geometry as part of the UI. See Model object information for details.

Model has all of the methods from UIObject, Region and Frame, plus the following:

Model:AdvanceTime()
Model:ClearFog() - Removes all fogging effects currently active in rendering.
Model:ClearModel() - Removes all geometry from the Model (i.e. makes it empty)
Model:GetFacing() - Returns the direction the model is facing.
Model:GetFogColor() - Gets the fog color (r, g, b, a) - New in 1.11.
Model:GetFogFar() - Gets the fog far distance - New in 1.11.
Model:GetFogNear() - Gets the fog near distance - New in 1.11.
Model:GetLight() - Gets the light specification for the model, returns a list of results compatible with the SetLight method - New in 1.11.
Model:GetModel() - Gets the model file for this Model - New in 1.11.
Model:GetModelScale() - Returns the current mesh scaling factor.
Model:GetPosition() - Returns the current position of the mesh as x, y, z
Model:ReplaceIconTexture("texture")
Model:SetCamera(index) - Select a pre-defined camera.
Model:SetFacing(facing) - Set the direction that the model is facing.
Model:SetFogColor(r, g, b[, a]) - Set the fog color and enable fogging.
Model:SetFogFar(value) - Set the far-clipping plane distance for fogging.
Model:SetFogNear(value) - Set the near-clipping plane distance for fogging.
Model:SetGlow(...) -
Model:SetLight(enabled[, omni, dirX, dirY, dirZ, ambIntensity[, ambR, ambG, ambB[, dirIntensity[, dirR, dirG, dirB]]]]) - Place the light source used for rendering
Model:SetModel("file") - Set the mesh that is displayed in the frame.
Model:SetModelScale(scale) - Sets the scale factor for the mesh before rendering.
Model:SetPosition(x, y, z) - Set the position of the mesh inside the frame's coordinate system.
Model:SetSequence(sequence) - Set the animation to be played.
Model:SetSequenceTime(sequence, time)

ScrollFrame

See ScrollFrame object information for details.

ScrollFrame has all of the methods from UIObject, Region and Frame, plus the following:

ScrollFrame:GetHorizontalScroll()
ScrollFrame:GetHorizontalScrollRange()
ScrollFrame:GetScrollChild
ScrollFrame:GetVerticalScroll()
ScrollFrame:GetVerticalScrollRange()
ScrollFrame:SetHorizontalScroll(offset)
ScrollFrame:SetScrollChild
ScrollFrame:SetVerticalScroll(offset)
ScrollFrame:UpdateScrollChildRect() - no longer required after patch 2.3

ScrollingMessageFrame

See ScrollingMessageFrame object information for details.

ScrollingMessageFrame has all of the methods from UIObject, FontInstance, Region and Frame, plus the following:

ScrollingMessageFrame:AddMessage("text"[, r, g, b[, id][, addToStart]]) - Add a message to the frame, with an optional color ID.- Updated in 2.4.2
ScrollingMessageFrame:AtBottom() - Test whether frame is at the bottom.
ScrollingMessageFrame:AtTop() - Test whether frame is at the top - New in 1.11.
ScrollingMessageFrame:Clear() - Clear all lines from the frame.
ScrollingMessageFrame:GetCurrentLine() - Returns the line number that was printed last, starting from 0.
ScrollingMessageFrame:GetCurrentScroll() -- Returns the amount of messages from the end message (GetNumMessages()) that the user has scrolled.
ScrollingMessageFrame:GetFadeDuration()
ScrollingMessageFrame:GetFading()
ScrollingMessageFrame:GetHyperlinksEnabled() - New in 3.0.8
ScrollingMessageFrame:GetInsertMode() - Gets the current insert mode for a frame. - New in 2.3.
ScrollingMessageFrame:GetMaxLines() - Get the maximum number of lines the frame can display.
ScrollingMessageFrame:GetNumLinesDisplayed()
ScrollingMessageFrame:GetNumMessages()
ScrollingMessageFrame:GetTimeVisible()
ScrollingMessageFrame:PageDown()
ScrollingMessageFrame:PageUp()
ScrollingMessageFrame:ScrollDown()
ScrollingMessageFrame:ScrollToBottom()
ScrollingMessageFrame:ScrollToTop()
ScrollingMessageFrame:ScrollUp()
ScrollingMessageFrame:SetFadeDuration(seconds) - Set the fade duration.
ScrollingMessageFrame:SetFading([isEnabled]) - Set whether fading is enabled - Renamed in 1.11.
ScrollingMessageFrame:SetHyperlinksEnabled(enableFlag) - New in 3.0.8
ScrollingMessageFrame:SetInsertMode("mode") - Sets the location into which new strings are added to the frame, mode is one of "TOP" or "BOTTOM". - New in 2.3.
ScrollingMessageFrame:SetMaxLines(lines) - Set the maximum number of displayed lines. Tested successfully with values up to a million. Resets the messages already within the frame.
ScrollingMessageFrame:SetScrollOffset(offset) - Renamed in 2.3.
ScrollingMessageFrame:SetTimeVisible(seconds) - Sets how long lines remain visible.
ScrollingMessageFrame:UpdateColorByID(id, r, g, b)

SimpleHTML

See SimpleHTML object information for details.

SimpleHTML has all of the methods from UIObject, Region and Frame, plus the following:

SimpleHTML appears to have all the methods of FontInstance, and they can indeed be used in the same way to set the default font, but they all have an optional first parameter for which element's font to set ("h1", "h2", "p", etc). The Font instance methods are not reflected in the SimpleHTML frame until you SetText on the frame. It also appears that you can only supply the block elements and not the inline elements (ie Hyperlinks cannot be colored a different color). Other than that, see FontInstance for documentation of these methods.

SimpleHTML:GetFont(["element"])
SimpleHTML:GetFontObject(["element"])
SimpleHTML:GetHyperlinkFormat() - Set the string.format format to use for displaying hyperlinks - New in 1.11.
SimpleHTML:GetHyperlinksEnabled() - New in 3.0.8
SimpleHTML:GetJustifyH(["element"])
SimpleHTML:GetJustifyV(["element"])
SimpleHTML:GetShadowColor(["element"])
SimpleHTML:GetShadowOffset(["element"])
SimpleHTML:GetSpacing(["element"])
SimpleHTML:GetTextColor(["element"])
SimpleHTML:SetFont(["element",] "path", height[,"flags"])
SimpleHTML:SetFontObject(["element",] fontObject)
SimpleHTML:SetHyperlinkFormat("format") - Set the string.format format to use for displaying hyperlinks.
SimpleHTML:SetHyperlinksEnabled(enableFlag) - New in 3.0.8
SimpleHTML:SetJustifyH(["element",] "justifyH")
SimpleHTML:SetJustifyV(["element",] "justifyV")
SimpleHTML:SetShadowColor(["element",] r, g, b[, a])
SimpleHTML:SetShadowOffset(["element",] x, y)
SimpleHTML:SetSpacing(["element",] lineSpacing)
SimpleHTML:SetText("text") - Set the HTML markup to be displayed (note: if there is any markup error, it will be displayed as plain text)
SimpleHTML:SetTextColor(["element",] r, g, b[, a])

Slider

See Slider object information for details.

Slider has all of the methods from UIObject, Region and Frame, plus the following:

Slider:Disable() - Disables the slider
Slider:Enable() - Enables the slider
Slider:GetMinMaxValues() - Get the current bounds of the slider.
Slider:GetOrientation() - Returns "HORIZONTAL" or "VERTICAL".
Slider:GetThumbTexture() - Get the texture for this slider's thumb - New in 1.11.
Slider:GetValue() - Get the current value of the slider.
Slider:GetValueStep() - Get the current step size of the slider.
Slider:IsEnabled() - Returns enabled status of the slider.
Slider:SetMinMaxValues(min, max) - Set the bounds of the slider.
Slider:SetOrientation("orientation") - "HORIZONTAL" or "VERTICAL".
Slider:SetThumbTexture(texture or "texturePath")
Slider:SetValue(value) - Set the value of the slider. Also causes the thumb to show on the first call.
Slider:SetValueStep(value) - Set the step size of the slider.

StatusBar

See StatusBar object information for details.

StatusBar has all of the methods from UIObject, Region and Frame, plus the following:

StatusBar:GetMinMaxValues() - Get the current bounds of the bar.
StatusBar:GetOrientation
StatusBar:GetStatusBarColor
StatusBar:GetStatusBarTexture() - Returns the texture object for the bar - Before 1.11 it returned the filename.
StatusBar:GetValue() - Get the current value of the bar.
StatusBar:SetMinMaxValues(min, max) - Set the bounds of the bar.
StatusBar:SetOrientation("orientation") - "HORIZONTAL" or "VERTICAL".
StatusBar:SetStatusBarColor(r, g, b[, alpha]) - Set the color of the bar.
StatusBar:SetStatusBarTexture("file" or texture[,"layer"]) - Sets the texture of the bar - Added texture as valid arg in 1.11.
StatusBar:SetValue(value) - Set the value of the bar.

Button Derivatives

CheckButton

See CheckButton object information for details.

CheckButton has all of the methods from UIObject, Region, Frame and Button, plus the following:

CheckButton:GetChecked() - Get the status of the checkbox.
CheckButton:GetCheckedTexture() - Get the texture used for a checked box - New in 1.11.
CheckButton:GetDisabledCheckedTexture() - Get the texture used for a disabled checked box - New in 1.11.
CheckButton:SetChecked([state]) - Set the status of the checkbox.
CheckButton:SetCheckedTexture(texture) - Set the texture to use for a checked box.
CheckButton:SetDisabledCheckedTexture(texture) - Set the texture to use for a disabled but checked box.

LootButton

(See LootButton object information for details) LootButton has all of the methods from UIObject, Region, Frame and Button, plus the following:

LootButton:SetSlot(index) - Set which the item to loot if the button is clicked.

Model Derivatives

PlayerModel

See PlayerModel object information for details.

PlayerModel has all of the methods from UIObject, Region, Frame and Model, plus the following:

PlayerModel:RefreshUnit()
PlayerModel:SetCreature(CreatureId)
PlayerModel:SetRotation(rotationRadians)
PlayerModel:SetUnit("unitId")

PlayerModel Derivatives

DressUpModel

See DressUpModel object information for details.

DressUpModel has all of the methods from UIObject, Region, Frame, Model and PlayerModel, plus the following:

DressUpModel:Dress() - Set the model to reflect the character's current inventory.
DressUpModel:TryOn("item") - Add the specified item to the model.
DressUpModel:Undress() - Set the model to reflect the character without inventory.

TabardModel

See TabardModel object information for details.

TabardModel has all of the methods from UIObject, Region, Frame, Model and PlayerModel, plus the following:

TabardModel:CanSaveTabardNow() - Indicate if the tabard can be saved.
TabardModel:CycleVariation(variationIndex, delta)
TabardModel:GetLowerBackgroundFileName
TabardModel:GetLowerEmblemFileName
TabardModel:GetLowerEmblemTexture("textureName")
TabardModel:GetUpperBackgroundFileName
TabardModel:GetUpperEmblemFileName
TabardModel:GetUpperEmblemTexture("textureName")
TabardModel:InitializeTabardColors()
TabardModel:Save() - Save the tabard.

LayeredRegion Derivatives

Texture

See Texture object information for details.

Texture has all of the methods from UIObject, Region and LayeredRegion, plus the following:

Note, the game will not find image files that did not exist when it was started, you may need to restart the game for the texture to appear.

Texture:GetBlendMode() - Return the blend mode set by SetBlendMode()
Texture:GetTexCoord() - Gets the 8 texture coordinates that map to the Texture's corners - New in 1.11.
REMOVED (3.3.3) Texture:GetTexCoordModifiesRect() - Get the SetTexCoordModifiesRect setting - New in 1.11
Texture:GetTexture() - Gets this texture's current texture path.
Texture:GetVertexColor() - Gets the vertex color for the Texture.
Texture:IsDesaturated() - Gets the desaturation state of this Texture. - New in 1.11
Texture:SetBlendMode("mode") - Set the alphaMode of the texture.
Texture:SetDesaturated(flag) - Set whether this texture should be displayed with no saturation (Note: This has a return value)
Texture:SetGradient("orientation", minR, minG, minB, maxR, maxG, maxB)
Texture:SetGradientAlpha("orientation", minR, minG, minB, minA, maxR, maxG, maxB, maxA)
Texture:SetRotation(angle, [,cx, cy]) - This is simply a shorthand for the appropriate 8 argument SetTexCoord rotation (in C++ so it's fast)
Texture:SetTexCoord(minX, maxX, minY, maxY or ULx, ULy, LLx, LLy, URx, URy, LRx, LRy) - Set the corner coordinates for texture display.
REMOVED (3.3.3) Texture:SetTexCoordModifiesRect(enableFlag) - Set whether future SetTexCoord operations should modify the display rectangle rather than stretch the texture. - New in 1.11
Texture:SetTexture("texturePath" or r, g, b[, a]) - Sets the texture to be displayed from a file or to a solid color.

The following 2 functions are not included in Texture object's metatables and as such cannot be used as methods, however they impact texture appearance directly and as such included here:

SetPortraitTexture(texture,"unit") - Paint a Texture object with the specified unit's portrait.
SetPortraitToTexture(texture or "texture", "texturePath") - Sets the texture to be displayed from a file applying circular opacity mask making it look round like portraits.

FontString

See FontString object information for details.

FontString has all of the methods from UIObject, FontInstance, Region and LayeredRegion, plus the following:

Note that FontString:Get/SetWidth() and Get/SetHeight() behave very differently for fontstrings; see the object information.

FontString:CanNonSpaceWrap() - Get whether long strings without spaces are wrapped or truncated - New in 1.11.
FontString:GetStringHeight() - Returns the height in pixels of the current string in the current font (without line wrapping). - New in 2.3.
FontString:GetStringWidth() - Returns the width in pixels of the current string in the current font (without line wrapping).
FontString:GetText() - Get the displayed text.
FontString:SetAlphaGradient(start, length) - Create or remove an alpha gradient over the text.
FontString:SetFormattedText("formatstring"[, ...]) - Set the formatted display text. - New in 2.3.
FontString:SetNonSpaceWrap(wrapFlag) - Set whether long strings without spaces are wrapped or truncated.
FontString:SetText("text") - Set the displayed text.
FontString:SetTextHeight(pixelHeight) - Set the height of the text by scaling graphics (Note: Can distort text).

Special

WorldFrame

WorldFrame is the frame which is used to display 3D world itself; it inherits methods of a normal frame widget. The frame is initially nonprotected, but because nameplates are protected children of the world frame, becomes protected when the first nameplate is seen. No additional WorldFrames may be created by addons.

The 3D content of this frame is rendered while keeping the vertical field of vision. So, if you widen (or flatten) WorldFrame, you'll indeed gain a wider horizontal vision angle. Also, if you're designing interface elements covering large areas of valuable screen estate, you might consider sizing WorldFrame down and thus moving it out from under your interface, so that they do not overlap too much.

FrameXML virtual frames

There are several different FrameXML frame templates that are worth pointing out:

Around Wikia's network

Random Wiki