UIOBJECT Region

**Region** (inherits from ParentedObject) is an abstract widget type for anything that can occupy an area of the screen. As such, Frames, Textures and FontStrings are all various kinds of Region. Region provides most of the functions that support size, position and anchoring, including animation. It is a "real virtual" type; it cannot be instantiated, but objects can return true when asked if they are Regions.

## Defined Methods

{{#vardefine:args|(parent)}}{{#vardefine:name|Region:SetParent}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Parents this to another object. Parented objects will inherit their scale & visibility.
{{#vardefine:args|()}}{{#vardefine:name|Region:IsDragging}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - True if this Region or its Parent is being dragged. - New in 3.1.0
{{#vardefine:args|([top, bottom, left, right])}}{{#vardefine:name|Region:IsMouseOver}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Checks whether the mouse is over the frame (or within specified offsets).
{{#vardefine:args|()}}{{#vardefine:name|Region:IsObjectLoaded}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}}
{{#vardefine:args|()}}{{#vardefine:name|Region:IsProtected}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Indicates if this object can be manipulated in certain ways by tainted code in combat or not
{{#vardefine:args|()}}{{#vardefine:name|Region:CanChangeProtectedState}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}}
Position & Scale
{{#vardefine:args|(index)}}{{#vardefine:name|Region:GetPoint}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the details of the indexth anchor point defined for this frame (point, relativeTo, relativePoint, xofs, yofs).
{{#vardefine:args|(point, relativeTo, relativePoint, ofsx, ofsy)}}{{#vardefine:name|Region:SetPoint}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Defines an attachment point of this region.
{{#vardefine:args|(frame or frameName)}}{{#vardefine:name|Region:SetAllPoints}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Defines attachment points for this region to match edges of the specified frame.
{{#vardefine:args|()}}{{#vardefine:name|Region:ClearAllPoints}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Removes all previously-defined attachment points for this region.
{{#vardefine:args|()}}{{#vardefine:name|Region:GetNumPoints}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the number of anchor points defined for this frame.
{{#vardefine:args|()}}{{#vardefine:name|Region:IsAnchoringRestricted}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}}
{{#vardefine:args|(name)}}{{#vardefine:name|Region:GetPointByName}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}}
{{#vardefine:args|(name)}}{{#vardefine:name|Region:ClearPointByName}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}}
{{#vardefine:args|([adjustX, adjustY])}}{{#vardefine:name|Region:AdjustPointsOffset}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Shifts a region by adjusting all anchors.
{{#vardefine:args|()}}{{#vardefine:name|Region:ClearPointsOffset}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Zeroizes the x and y offsets on all anchors.
{{#vardefine:args|()}}{{#vardefine:name|Region:GetLeft}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the distance of the region's left edge from the left side of the screen (scale dependent).
{{#vardefine:args|()}}{{#vardefine:name|Region:GetRight}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the distance of the region's right edge from the left side of the screen (scale dependent).
{{#vardefine:args|()}}{{#vardefine:name|Region:GetTop}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the distance of the region's top edge from the bottom of the screen (scale dependent).
{{#vardefine:args|()}}{{#vardefine:name|Region:GetBottom}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the distance of the region's bottom edge from the bottom of the screen (scale dependent).
{{#vardefine:args|()}}{{#vardefine:name|Region:GetCenter}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the distance of the region's middle from the bottom left of the screen (scale dependent).
{{#vardefine:args|()}}{{#vardefine:name|Region:GetRect}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the location and size (scale dependent), as shorthand for GetBottom(), GetLeft(), GetWidth() and GetHeight()
{{#vardefine:args|()}}{{#vardefine:name|Region:GetScaledRect}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the location and size in a standard coordinate space (as if effectiveScale = 1).
{{#vardefine:args|()}}{{#vardefine:name|Region:IsRectValid}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Indicates the region has been sufficiently defined for placement on the screen.
{{#vardefine:args|()}}{{#vardefine:name|Region:GetWidth}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the width of this object (scale dependent).
{{#vardefine:args|(width)}}{{#vardefine:name|Region:SetWidth}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Defines the width of the object (scale dependent).
{{#vardefine:args|()}}{{#vardefine:name|Region:GetHeight}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the height of this object (scale dependent).
{{#vardefine:args|(height)}}{{#vardefine:name|Region:SetHeight}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Defines the height of the object (scale dependent).
{{#vardefine:args|()}}{{#vardefine:name|Region:GetSize}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the width and height (scale dependent).
{{#vardefine:args|(width, height)}}{{#vardefine:name|Region:SetSize}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Defines the width and the height, as shorthand for SetWidth() and SetHeight()
{{#vardefine:args|()}}{{#vardefine:name|Region:GetScale}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the set scale (normally relative to its parent).
{{#vardefine:args|(scale)}}{{#vardefine:name|Region:SetScale}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Defines the scale relative to an immediate parent or standard coordinate space, depending on IsIgnoringParentScale()
{{#vardefine:args|()}}{{#vardefine:name|Region:GetEffectiveScale}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the net scale, inclusive of all parents.
{{#vardefine:args|(boolean)}}{{#vardefine:name|Region:SetIgnoreParentScale}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Directs the region to scale itself manually without inheritence.
{{#vardefine:args|()}}{{#vardefine:name|Region:IsIgnoringParentScale}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Indicates the region scales itself manually without inheritence.
Visibility
{{#vardefine:args|()}}{{#vardefine:name|Region:Show}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Directs the region to appear and permits its children to appear also, but not while the region's parent (if any) is hidden
{{#vardefine:args|()}}{{#vardefine:name|Region:Hide}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Directs the region and its children to disappear
{{#vardefine:args|(boolean)}}{{#vardefine:name|Region:SetShown}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Directs the region to appear or disappar, as an alternative to Hide() and Show()
{{#vardefine:args|()}}{{#vardefine:name|Region:IsShown}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Indicates the region will appear, but only while its parent appears or if it has no parent
{{#vardefine:args|()}}{{#vardefine:name|Region:IsVisible}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Indicates the region and its parent (if any) are currently appearing
{{#vardefine:args|()}}{{#vardefine:name|Region:GetAlpha}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns the object's set opacity between 0 and 1 (normally relative to its parent)
{{#vardefine:args|()}}{{#vardefine:name|Region:GetEffectiveAlpha}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Return's the net opacity, inclusive of all parents
{{#vardefine:args|(alpha)}}{{#vardefine:name|Region:SetAlpha}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Defines the object's opacity between 0 and 1 (normally relative to its parent)
{{#vardefine:args|(boolean)}}{{#vardefine:name|Region:SetIgnoreParentAlpha}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Directs the region to adopt a manually defined opacity uninherited from its parent
{{#vardefine:args|()}}{{#vardefine:name|Region:IsIgnoringParentAlpha}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Indicates the region has a manually defined opacity uninherited from its parent
Animations
{{#vardefine:args|()}}{{#vardefine:name|Region:CreateAnimationGroup}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Constructs a new AnimationGroup as a child of this Region. - New in 3.1.0
{{#vardefine:args|()}}{{#vardefine:name|Region:GetAnimationGroups}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Returns all AnimationGroups that are children of this Region. - New in 3.1.0
{{#vardefine:args|()}}{{#vardefine:name|Region:StopAnimating}}[[API {{#var\_name}}|{{#var:name}}]]{{#var:args}} - Halts any active Animations on the Region and its children - New in 3.1.0