diff options
-rw-r--r-- | guilib/GUIBorderedImage.cpp | 16 | ||||
-rw-r--r-- | guilib/GUIBorderedImage.h | 4 | ||||
-rw-r--r-- | guilib/GUIControlFactory.cpp | 37 | ||||
-rw-r--r-- | guilib/GUIControlFactory.h | 6 | ||||
-rw-r--r-- | guilib/GUIListItemLayout.cpp | 2 | ||||
-rw-r--r-- | guilib/GUITexture.cpp | 84 | ||||
-rw-r--r-- | guilib/GUITexture.h | 10 | ||||
-rw-r--r-- | guilib/GUIWindow.cpp | 20 | ||||
-rw-r--r-- | guilib/GUIWindow.h | 2 | ||||
-rw-r--r-- | guilib/VisibleEffect.cpp | 19 | ||||
-rw-r--r-- | guilib/VisibleEffect.h | 9 | ||||
-rw-r--r-- | xbmc/ApplicationRenderer.cpp | 11 |
12 files changed, 103 insertions, 117 deletions
diff --git a/guilib/GUIBorderedImage.cpp b/guilib/GUIBorderedImage.cpp index 6ba1c3d931..206fdf2287 100644 --- a/guilib/GUIBorderedImage.cpp +++ b/guilib/GUIBorderedImage.cpp @@ -21,18 +21,18 @@ #include "GUIBorderedImage.h" -CGUIBorderedImage::CGUIBorderedImage(int parentID, int controlID, float posX, float posY, float width, float height, const CTextureInfo& texture, const CTextureInfo& borderTexture, const FRECT &borderSize) - : CGUIImage(parentID, controlID, posX + borderSize.left, posY + borderSize.top, width - borderSize.left - borderSize.right, height - borderSize.top - borderSize.bottom, texture), - m_borderImage(posX, posY, width, height, borderTexture) +CGUIBorderedImage::CGUIBorderedImage(int parentID, int controlID, float posX, float posY, float width, float height, const CTextureInfo& texture, const CTextureInfo& borderTexture, const CRect &borderSize) + : CGUIImage(parentID, controlID, posX + borderSize.x1, posY + borderSize.y1, width - borderSize.x1 - borderSize.x2, height - borderSize.y1 - borderSize.y2, texture), + m_borderImage(posX, posY, width, height, borderTexture), + m_borderSize(borderSize) { - memcpy(&m_borderSize, &borderSize, sizeof(FRECT)); ControlType = GUICONTROL_BORDEREDIMAGE; } CGUIBorderedImage::CGUIBorderedImage(const CGUIBorderedImage &right) : CGUIImage(right), m_borderImage(right.m_borderImage) { - memcpy(&m_borderSize, &right.m_borderSize, sizeof(FRECT)); + m_borderSize = right.m_borderSize; ControlType = GUICONTROL_BORDEREDIMAGE; } @@ -46,9 +46,9 @@ void CGUIBorderedImage::Render() { CRect rect = CRect(m_texture.GetXPosition(), m_texture.GetYPosition(), m_texture.GetXPosition() + m_texture.GetWidth(), m_texture.GetYPosition() + m_texture.GetHeight()); rect.Intersect(m_texture.GetRenderRect()); - m_borderImage.SetPosition(rect.x1 - m_borderSize.left, rect.y1 - m_borderSize.top); - m_borderImage.SetWidth(rect.Width() + m_borderSize.left + m_borderSize.right); - m_borderImage.SetHeight(rect.Height() + m_borderSize.top + m_borderSize.bottom); + m_borderImage.SetPosition(rect.x1 - m_borderSize.x1, rect.y1 - m_borderSize.y1); + m_borderImage.SetWidth(rect.Width() + m_borderSize.x1 + m_borderSize.x2); + m_borderImage.SetHeight(rect.Height() + m_borderSize.y1 + m_borderSize.y2); m_borderImage.Render(); } CGUIImage::Render(); diff --git a/guilib/GUIBorderedImage.h b/guilib/GUIBorderedImage.h index 535b1a00d6..e264b53cd0 100644 --- a/guilib/GUIBorderedImage.h +++ b/guilib/GUIBorderedImage.h @@ -29,7 +29,7 @@ class CGUIBorderedImage : public CGUIImage { public: - CGUIBorderedImage(int parentID, int controlID, float posX, float posY, float width, float height, const CTextureInfo& texture, const CTextureInfo& borderTexture, const FRECT &borderSize); + CGUIBorderedImage(int parentID, int controlID, float posX, float posY, float width, float height, const CTextureInfo& texture, const CTextureInfo& borderTexture, const CRect &borderSize); CGUIBorderedImage(const CGUIBorderedImage &right); virtual ~CGUIBorderedImage(void); virtual CGUIBorderedImage *Clone() const { return new CGUIBorderedImage(*this); }; @@ -41,7 +41,7 @@ public: protected: CGUITexture m_borderImage; - FRECT m_borderSize; + CRect m_borderSize; }; #endif diff --git a/guilib/GUIControlFactory.cpp b/guilib/GUIControlFactory.cpp index 0960ab7b55..adeb9c2efa 100644 --- a/guilib/GUIControlFactory.cpp +++ b/guilib/GUIControlFactory.cpp @@ -239,24 +239,24 @@ bool CGUIControlFactory::GetTexture(const TiXmlNode* pRootNode, const char* strT return true; } -void CGUIControlFactory::GetRectFromString(const CStdString &string, FRECT &rect) +void CGUIControlFactory::GetRectFromString(const CStdString &string, CRect &rect) { - // format is rect="left,right,top,bottom" + // format is rect="left[,top,right,bottom]" CStdStringArray strRect; StringUtils::SplitString(string, ",", strRect); if (strRect.size() == 1) { - g_SkinInfo.ResolveConstant(strRect[0], rect.left); - rect.top = rect.left; - rect.right = rect.left; - rect.bottom = rect.left; + g_SkinInfo.ResolveConstant(strRect[0], rect.x1); + rect.y1 = rect.x1; + rect.x2 = rect.x1; + rect.y2 = rect.x1; } else if (strRect.size() == 4) { - g_SkinInfo.ResolveConstant(strRect[0], rect.left); - g_SkinInfo.ResolveConstant(strRect[1], rect.top); - g_SkinInfo.ResolveConstant(strRect[2], rect.right); - g_SkinInfo.ResolveConstant(strRect[3], rect.bottom); + g_SkinInfo.ResolveConstant(strRect[0], rect.x1); + g_SkinInfo.ResolveConstant(strRect[1], rect.y1); + g_SkinInfo.ResolveConstant(strRect[2], rect.x2); + g_SkinInfo.ResolveConstant(strRect[3], rect.y2); } } @@ -339,7 +339,7 @@ bool CGUIControlFactory::GetConditionalVisibility(const TiXmlNode *control, int return GetConditionalVisibility(control, condition, allowHiddenFocus); } -bool CGUIControlFactory::GetAnimations(const TiXmlNode *control, const FRECT &rect, vector<CAnimation> &animations) +bool CGUIControlFactory::GetAnimations(const TiXmlNode *control, const CRect &rect, vector<CAnimation> &animations) { const TiXmlElement* node = control->FirstChildElement("animation"); bool ret = false; @@ -537,7 +537,7 @@ CStdString CGUIControlFactory::GetType(const TiXmlElement *pControlNode) return type; } -CGUIControl* CGUIControlFactory::Create(int parentID, const FRECT &rect, TiXmlElement* pControlNode, bool insideContainer) +CGUIControl* CGUIControlFactory::Create(int parentID, const CRect &rect, TiXmlElement* pControlNode, bool insideContainer) { // resolve any <include> tag's in this control g_SkinInfo.ResolveIncludes(pControlNode); @@ -594,7 +594,7 @@ CGUIControl* CGUIControlFactory::Create(int parentID, const FRECT &rect, TiXmlEl CTextureInfo textureRadioOn, textureRadioOff; CTextureInfo imageNoFocus, imageFocus; CGUIInfoLabel texturePath; - FRECT borderSize = { 0, 0, 0, 0}; + CRect borderSize; float itemWidth = 16, itemHeight = 16; float sliderWidth = 150, sliderHeight = 16; @@ -698,10 +698,10 @@ CGUIControl* CGUIControlFactory::Create(int parentID, const FRECT &rect, TiXmlEl CStdString pos; XMLUtils::GetString(pControlNode, "posx", pos); if (pos.Right(1) == "r") - posX = (rect.right - rect.left) - posX; + posX = rect.Width() - posX; XMLUtils::GetString(pControlNode, "posy", pos); if (pos.Right(1) == "r") - posY = (rect.bottom - rect.top) - posY; + posY = rect.Height() - posY; GetFloat(pControlNode, "width", width); GetFloat(pControlNode, "height", height); @@ -712,9 +712,9 @@ CGUIControl* CGUIControlFactory::Create(int parentID, const FRECT &rect, TiXmlEl if (strType == "group" || strType == "grouplist") { if (!width) - width = max(rect.right - posX, 0.0f); + width = max(rect.x2 - posX, 0.0f); if (!height) - height = max(rect.bottom - posY, 0.0f); + height = max(rect.y2 - posY, 0.0f); } hitRect.SetRect(posX, posY, posX + width, posY + height); @@ -740,8 +740,7 @@ CGUIControl* CGUIControlFactory::Create(int parentID, const FRECT &rect, TiXmlEl GetConditionalVisibility(pControlNode, iVisibleCondition, allowHiddenFocus); GetCondition(pControlNode, "enable", enableCondition); - // note: animrect here uses .right and .bottom as width and height respectively (nonstandard) - FRECT animRect = { posX, posY, width, height }; + CRect animRect(posX, posY, posX + width, posY + height); GetAnimations(pControlNode, animRect, animations); GetInfoColor(pControlNode, "textcolor", labelInfo.textColor); diff --git a/guilib/GUIControlFactory.h b/guilib/GUIControlFactory.h index d41d5c17da..018b945eb7 100644 --- a/guilib/GUIControlFactory.h +++ b/guilib/GUIControlFactory.h @@ -46,7 +46,7 @@ public: CGUIControlFactory(void); virtual ~CGUIControlFactory(void); static CStdString GetType(const TiXmlElement *pControlNode); - CGUIControl* Create(int parentID, const FRECT &rect, TiXmlElement* pControlNode, bool insideContainer = false); + CGUIControl* Create(int parentID, const CRect &rect, TiXmlElement* pControlNode, bool insideContainer = false); void ScaleElement(TiXmlElement *element, RESOLUTION fileRes, RESOLUTION destRes); static bool GetFloat(const TiXmlNode* pRootNode, const char* strTag, float& value); static bool GetUnsigned(const TiXmlNode* pRootNode, const char* strTag, unsigned int& value); @@ -55,7 +55,7 @@ public: static bool GetTexture(const TiXmlNode* pRootNode, const char* strTag, CTextureInfo &image); static bool GetAlignment(const TiXmlNode* pRootNode, const char* strTag, uint32_t& dwAlignment); static bool GetAlignmentY(const TiXmlNode* pRootNode, const char* strTag, uint32_t& dwAlignment); - static bool GetAnimations(const TiXmlNode *control, const FRECT &rect, std::vector<CAnimation> &animation); + static bool GetAnimations(const TiXmlNode *control, const CRect &rect, std::vector<CAnimation> &animation); static void GetInfoLabel(const TiXmlNode *pControlNode, const CStdString &labelTag, CGUIInfoLabel &infoLabel); static void GetInfoLabels(const TiXmlNode *pControlNode, const CStdString &labelTag, std::vector<CGUIInfoLabel> &infoLabels); static bool GetColor(const TiXmlNode* pRootNode, const char* strTag, color_t &value); @@ -63,7 +63,7 @@ public: static CStdString FilterLabel(const CStdString &label); static bool GetConditionalVisibility(const TiXmlNode* control, int &condition); static bool GetMultipleString(const TiXmlNode* pRootNode, const char* strTag, std::vector<CGUIActionDescriptor>& vecStringValue); - static void GetRectFromString(const CStdString &string, FRECT &rect); + static void GetRectFromString(const CStdString &string, CRect &rect); static bool GetAction(const TiXmlElement* pElement, CGUIActionDescriptor &action); private: bool GetNavigation(const TiXmlElement *node, const char *tag, int &direction, std::vector<CGUIActionDescriptor> &actions); diff --git a/guilib/GUIListItemLayout.cpp b/guilib/GUIListItemLayout.cpp index 0c41e26dd9..50dab42d85 100644 --- a/guilib/GUIListItemLayout.cpp +++ b/guilib/GUIListItemLayout.cpp @@ -122,7 +122,7 @@ void CGUIListItemLayout::LoadControl(TiXmlElement *child, CGUIControlGroup *grou { if (!group) return; - FRECT rect = { group->GetXPosition(), group->GetYPosition(), group->GetXPosition() + group->GetWidth(), group->GetYPosition() + group->GetHeight() }; + CRect rect(group->GetXPosition(), group->GetYPosition(), group->GetXPosition() + group->GetWidth(), group->GetYPosition() + group->GetHeight()); CGUIControlFactory factory; CGUIControl *control = factory.Create(0, rect, child, true); // true indicating we're inside a list for the diff --git a/guilib/GUITexture.cpp b/guilib/GUITexture.cpp index 7b7f079360..dca00c416d 100644 --- a/guilib/GUITexture.cpp +++ b/guilib/GUITexture.cpp @@ -28,28 +28,26 @@ using namespace std; CTextureInfo::CTextureInfo() - { - memset(&border, 0, sizeof(FRECT)); - orientation = 0; - useLarge = false; - }; +{ + orientation = 0; + useLarge = false; +} CTextureInfo::CTextureInfo(const CStdString &file) - { - memset(&border, 0, sizeof(FRECT)); - orientation = 0; - useLarge = false; - filename = file; - } +{ + orientation = 0; + useLarge = false; + filename = file; +} void CTextureInfo::operator=(const CTextureInfo &right) - { - memcpy(&border, &right.border, sizeof(FRECT)); - orientation = right.orientation; - diffuse = right.diffuse; - filename = right.filename; - useLarge = right.useLarge; - }; +{ + border = right.border; + orientation = right.orientation; + diffuse = right.diffuse; + filename = right.filename; + useLarge = right.useLarge; +} CGUITextureBase::CGUITextureBase(float posX, float posY, float width, float height, const CTextureInfo& texture) { @@ -173,11 +171,11 @@ void CGUITextureBase::Render() // compute the texture coordinates float u1, u2, u3, v1, v2, v3; - u1 = m_info.border.left; - u2 = m_frameWidth - m_info.border.right; + u1 = m_info.border.x1; + u2 = m_frameWidth - m_info.border.x2; u3 = m_frameWidth; - v1 = m_info.border.top; - v2 = m_frameHeight - m_info.border.bottom; + v1 = m_info.border.y1; + v2 = m_frameHeight - m_info.border.y2; v3 = m_frameHeight; if (!m_texture.m_texCoordsArePixels) @@ -195,28 +193,28 @@ void CGUITextureBase::Render() // for flipping // left segment (0,0,u1,v3) - if (m_info.border.left) + if (m_info.border.x1) { - if (m_info.border.top) - Render(m_vertex.x1, m_vertex.y1, m_vertex.x1 + m_info.border.left, m_vertex.y1 + m_info.border.top, 0, 0, u1, v1, u3, v3); - Render(m_vertex.x1, m_vertex.y1 + m_info.border.top, m_vertex.x1 + m_info.border.left, m_vertex.y2 - m_info.border.bottom, 0, v1, u1, v2, u3, v3); - if (m_info.border.bottom) - Render(m_vertex.x1, m_vertex.y2 - m_info.border.bottom, m_vertex.x1 + m_info.border.left, m_vertex.y2, 0, v2, u1, v3, u3, v3); + if (m_info.border.y1) + Render(m_vertex.x1, m_vertex.y1, m_vertex.x1 + m_info.border.x1, m_vertex.y1 + m_info.border.y1, 0, 0, u1, v1, u3, v3); + Render(m_vertex.x1, m_vertex.y1 + m_info.border.y1, m_vertex.x1 + m_info.border.x1, m_vertex.y2 - m_info.border.y2, 0, v1, u1, v2, u3, v3); + if (m_info.border.y2) + Render(m_vertex.x1, m_vertex.y2 - m_info.border.y2, m_vertex.x1 + m_info.border.x1, m_vertex.y2, 0, v2, u1, v3, u3, v3); } // middle segment (u1,0,u2,v3) - if (m_info.border.top) - Render(m_vertex.x1 + m_info.border.left, m_vertex.y1, m_vertex.x2 - m_info.border.right, m_vertex.y1 + m_info.border.top, u1, 0, u2, v1, u3, v3); - Render(m_vertex.x1 + m_info.border.left, m_vertex.y1 + m_info.border.top, m_vertex.x2 - m_info.border.right, m_vertex.y2 - m_info.border.bottom, u1, v1, u2, v2, u3, v3); - if (m_info.border.bottom) - Render(m_vertex.x1 + m_info.border.left, m_vertex.y2 - m_info.border.bottom, m_vertex.x2 - m_info.border.right, m_vertex.y2, u1, v2, u2, v3, u3, v3); + if (m_info.border.y1) + Render(m_vertex.x1 + m_info.border.x1, m_vertex.y1, m_vertex.x2 - m_info.border.x2, m_vertex.y1 + m_info.border.y1, u1, 0, u2, v1, u3, v3); + Render(m_vertex.x1 + m_info.border.x1, m_vertex.y1 + m_info.border.y1, m_vertex.x2 - m_info.border.x2, m_vertex.y2 - m_info.border.y2, u1, v1, u2, v2, u3, v3); + if (m_info.border.y2) + Render(m_vertex.x1 + m_info.border.x1, m_vertex.y2 - m_info.border.y2, m_vertex.x2 - m_info.border.x2, m_vertex.y2, u1, v2, u2, v3, u3, v3); // right segment - if (m_info.border.right) + if (m_info.border.x2) { // have a left border - if (m_info.border.top) - Render(m_vertex.x2 - m_info.border.right, m_vertex.y1, m_vertex.x2, m_vertex.y1 + m_info.border.top, u2, 0, u3, v1, u3, v3); - Render(m_vertex.x2 - m_info.border.right, m_vertex.y1 + m_info.border.top, m_vertex.x2, m_vertex.y2 - m_info.border.bottom, u2, v1, u3, v2, u3, v3); - if (m_info.border.bottom) - Render(m_vertex.x2 - m_info.border.right, m_vertex.y2 - m_info.border.bottom, m_vertex.x2, m_vertex.y2, u2, v2, u3, v3, u3, v3); + if (m_info.border.y1) + Render(m_vertex.x2 - m_info.border.x2, m_vertex.y1, m_vertex.x2, m_vertex.y1 + m_info.border.y1, u2, 0, u3, v1, u3, v3); + Render(m_vertex.x2 - m_info.border.x2, m_vertex.y1 + m_info.border.y1, m_vertex.x2, m_vertex.y2 - m_info.border.y2, u2, v1, u3, v2, u3, v3); + if (m_info.border.y2) + Render(m_vertex.x2 - m_info.border.x2, m_vertex.y2 - m_info.border.y2, m_vertex.x2, m_vertex.y2, u2, v2, u3, v3, u3, v3); } // close off our renderer @@ -558,8 +556,8 @@ void CGUITextureBase::OrientateTexture(CRect &rect, float width, float height, i void CGUITextureBase::SetWidth(float width) { - if (width < m_info.border.left + m_info.border.right) - width = m_info.border.left + m_info.border.right; + if (width < m_info.border.x1 + m_info.border.x2) + width = m_info.border.x1 + m_info.border.x2; if (m_width != width) { m_width = width; @@ -569,8 +567,8 @@ void CGUITextureBase::SetWidth(float width) void CGUITextureBase::SetHeight(float height) { - if (height < m_info.border.top + m_info.border.bottom) - height = m_info.border.top + m_info.border.bottom; + if (height < m_info.border.y1 + m_info.border.y2) + height = m_info.border.y1 + m_info.border.y2; if (m_height != height) { m_height = height; diff --git a/guilib/GUITexture.h b/guilib/GUITexture.h index 33fe251879..aa60f5a630 100644 --- a/guilib/GUITexture.h +++ b/guilib/GUITexture.h @@ -35,14 +35,6 @@ typedef uint32_t color_t; -struct FRECT -{ - float left; - float top; - float right; - float bottom; -}; - // image alignment for <aspect>keep</aspect>, <aspect>scale</aspect> or <aspect>center</aspect> #define ASPECT_ALIGN_CENTER 0 #define ASPECT_ALIGN_LEFT 1 @@ -83,7 +75,7 @@ public: CTextureInfo(const CStdString &file); void operator=(const CTextureInfo &right); bool useLarge; - FRECT border; // scaled - unneeded if we get rid of scale on load + CRect border; // scaled - unneeded if we get rid of scale on load int orientation; // orientation of the texture (0 - 7 == EXIForientation - 1) CStdString diffuse; // diffuse overlay texture CStdString filename; // main texture file diff --git a/guilib/GUIWindow.cpp b/guilib/GUIWindow.cpp index f68d72a034..af99dfd336 100644 --- a/guilib/GUIWindow.cpp +++ b/guilib/GUIWindow.cpp @@ -173,7 +173,7 @@ bool CGUIWindow::Load(TiXmlDocument &xmlDoc) } else if (strValue == "animation" && pChild->FirstChild()) { - FRECT rect = { 0, 0, (float)g_settings.m_ResInfo[m_coordsRes].iWidth, (float)g_settings.m_ResInfo[m_coordsRes].iHeight }; + CRect rect(0, 0, (float)g_settings.m_ResInfo[m_coordsRes].iWidth, (float)g_settings.m_ResInfo[m_coordsRes].iHeight); CAnimation anim; anim.Create(pChild, rect); m_animations.push_back(anim); @@ -250,13 +250,13 @@ void CGUIWindow::LoadControl(TiXmlElement* pControl, CGUIControlGroup *pGroup) // get control type CGUIControlFactory factory; - FRECT rect = { 0, 0, (float)g_settings.m_ResInfo[m_coordsRes].iWidth, (float)g_settings.m_ResInfo[m_coordsRes].iHeight }; + CRect rect(0, 0, (float)g_settings.m_ResInfo[m_coordsRes].iWidth, (float)g_settings.m_ResInfo[m_coordsRes].iHeight); if (pGroup) { - rect.left = pGroup->GetXPosition(); - rect.top = pGroup->GetYPosition(); - rect.right = rect.left + pGroup->GetWidth(); - rect.bottom = rect.top + pGroup->GetHeight(); + rect.x1 = pGroup->GetXPosition(); + rect.y1 = pGroup->GetYPosition(); + rect.x2 = rect.x1 + pGroup->GetWidth(); + rect.y2 = rect.y2 + pGroup->GetHeight(); } CGUIControl* pGUIControl = factory.Create(GetID(), rect, pControl); if (pGUIControl) @@ -868,14 +868,14 @@ void CGUIWindow::SetDefaults() m_animationsEnabled = true; } -FRECT CGUIWindow::GetScaledBounds() const +CRect CGUIWindow::GetScaledBounds() const { CSingleLock lock(g_graphicsContext); g_graphicsContext.SetScalingResolution(m_coordsRes, m_posX, m_posY, m_needsScaling); - FRECT rect = {0, 0, m_width, m_height}; + CRect rect(0, 0, m_width, m_height); float z = 0; - g_graphicsContext.ScaleFinalCoords(rect.left, rect.top, z); - g_graphicsContext.ScaleFinalCoords(rect.right, rect.bottom, z); + g_graphicsContext.ScaleFinalCoords(rect.x1, rect.y1, z); + g_graphicsContext.ScaleFinalCoords(rect.x2, rect.y2, z); return rect; } diff --git a/guilib/GUIWindow.h b/guilib/GUIWindow.h index aba217fbc6..ee2b5e9d62 100644 --- a/guilib/GUIWindow.h +++ b/guilib/GUIWindow.h @@ -107,7 +107,7 @@ public: void SetIDRange(int range) { m_idRange = range; }; int GetIDRange() const { return m_idRange; }; int GetPreviousWindow() { return m_previousWindow; }; - FRECT GetScaledBounds() const; + CRect GetScaledBounds() const; virtual void ClearAll(); virtual void AllocResources(bool forceLoad = false); virtual void FreeResources(bool forceUnLoad = false); diff --git a/guilib/VisibleEffect.cpp b/guilib/VisibleEffect.cpp index df48066142..1f05fb9340 100644 --- a/guilib/VisibleEffect.cpp +++ b/guilib/VisibleEffect.cpp @@ -24,7 +24,6 @@ #include "utils/log.h" #include "SkinInfo.h" // for the effect time adjustments #include "StringUtils.h" -#include "GUIImage.h" // for FRECT #include "Tween.h" #include "tinyXML/tinyxml.h" @@ -248,7 +247,7 @@ void CRotateEffect::ApplyEffect(float offset, const CPoint ¢er) m_matrix.SetZRotation(((m_endAngle - m_startAngle)*offset + m_startAngle) * degree_to_radian, m_center.x, m_center.y, g_graphicsContext.GetScalingPixelRatio()); } -CZoomEffect::CZoomEffect(const TiXmlElement *node, const FRECT &rect) : CAnimEffect(node, EFFECT_TYPE_ZOOM) +CZoomEffect::CZoomEffect(const TiXmlElement *node, const CRect &rect) : CAnimEffect(node, EFFECT_TYPE_ZOOM) { // effect defaults m_startX = m_startY = 100; @@ -256,13 +255,13 @@ CZoomEffect::CZoomEffect(const TiXmlElement *node, const FRECT &rect) : CAnimEff m_center = CPoint(0,0); m_autoCenter = false; - float startPosX = rect.left; - float startPosY = rect.top; - float endPosX = rect.left; - float endPosY = rect.top; + float startPosX = rect.x1; + float startPosY = rect.y1; + float endPosX = rect.x1; + float endPosY = rect.y1; - float width = (rect.right) ? rect.right : 0.001f; - float height = (rect.bottom) ? rect.bottom : 0.001f; + float width = max(rect.Width(), 0.001f); + float height = max(rect.Height(),0.001f); const char *start = node->Attribute("start"); if (start) @@ -608,7 +607,7 @@ void CAnimation::SetInitialCondition(int contextWindow) ResetAnimation(); } -void CAnimation::Create(const TiXmlElement *node, const FRECT &rect) +void CAnimation::Create(const TiXmlElement *node, const CRect &rect) { if (!node || !node->FirstChild()) return; @@ -671,7 +670,7 @@ void CAnimation::Create(const TiXmlElement *node, const FRECT &rect) } } -void CAnimation::AddEffect(const CStdString &type, const TiXmlElement *node, const FRECT &rect) +void CAnimation::AddEffect(const CStdString &type, const TiXmlElement *node, const CRect &rect) { CAnimEffect *effect = NULL; if (type.Equals("fade")) diff --git a/guilib/VisibleEffect.h b/guilib/VisibleEffect.h index 6786f1f473..36278e618e 100644 --- a/guilib/VisibleEffect.h +++ b/guilib/VisibleEffect.h @@ -28,11 +28,10 @@ enum ANIMATION_STATE { ANIM_STATE_NONE = 0, ANIM_STATE_DELAYED, ANIM_STATE_IN_PR class TiXmlElement; class Tweener; -struct FRECT; class CGUIListItem; #include "TransformMatrix.h" // needed for the TransformMatrix member -#include "Geometry.h" // for CPoint +#include "Geometry.h" // for CPoint, CRect #include "StdString.h" enum ANIMATION_TYPE @@ -126,7 +125,7 @@ private: class CZoomEffect : public CAnimEffect { public: - CZoomEffect(const TiXmlElement *node, const FRECT &rect); + CZoomEffect(const TiXmlElement *node, const CRect &rect); virtual ~CZoomEffect() {}; private: virtual void ApplyEffect(float offset, const CPoint ¢er); @@ -152,7 +151,7 @@ public: static CAnimation *CreateFader(float start, float end, unsigned int delay, unsigned int length); - void Create(const TiXmlElement *node, const FRECT &rect); + void Create(const TiXmlElement *node, const CRect &rect); void Animate(unsigned int time, bool startAnim); void ResetAnimation(); @@ -176,7 +175,7 @@ public: private: void Calculate(const CPoint &point); - void AddEffect(const CStdString &type, const TiXmlElement *node, const FRECT &rect); + void AddEffect(const CStdString &type, const TiXmlElement *node, const CRect &rect); void AddEffect(CAnimEffect *effect); enum ANIM_REPEAT { ANIM_REPEAT_NONE = 0, ANIM_REPEAT_PULSE, ANIM_REPEAT_LOOP }; diff --git a/xbmc/ApplicationRenderer.cpp b/xbmc/ApplicationRenderer.cpp index 24aec0e3aa..0c10c4e6cd 100644 --- a/xbmc/ApplicationRenderer.cpp +++ b/xbmc/ApplicationRenderer.cpp @@ -22,7 +22,6 @@ #include "system.h" #include "Application.h" #include "ApplicationRenderer.h" -#include "GUIImage.h" #include "AdvancedSettings.h" #include "GUIWindowManager.h" #include "WindowingFactory.h" @@ -98,13 +97,13 @@ void CApplicationRenderer::Process() } SAFE_RELEASE(m_lpSurface); - FRECT rect = m_pWindow->GetScaledBounds(); + CRect rect = m_pWindow->GetScaledBounds(); m_pWindow->ClearAll(); //unload - iLeft = (int)floor(rect.left); - iTop = (int)floor(rect.top); - iWidth = (int)ceil(rect.right - rect.left); - iHeight = (int)ceil(rect.bottom - rect.top); + iLeft = (int)floor(rect.x1); + iTop = (int)floor(rect.y1); + iWidth = (int)ceil(rect.Width()); + iHeight = (int)ceil(rect.Height()); m_Resolution = g_graphicsContext.GetVideoResolution(); } } |