/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef _ODGSBACKGROUNDIMPL_H_INCLUDED_ #define _ODGSBACKGROUNDIMPL_H_INCLUDED_ #include "Gs/GsBackground.h" #include "Gs/GsViewImpl.h" // OdGsBackground implementation classes #include "TD_PackPush.h" /** Description: Library: Gs {group:OdGs_Classes} */ class OdGsBackgroundImpl { protected: struct RenderingModeHolder { OdGiFillType lft; OdGsView::RenderMode lrm; }; struct VertexColorResolver : public OdCmEntityColor { OdCmEntityColor &setColor(const OdCmEntityColor &color, OdGsBaseVectorizer& view); }; protected: OdGsBackgroundImpl(const OdGsBackgroundModule *pModule); void fillBackgroundRect(const OdGsViewImpl& view, OdGePoint3d rect[5]); OdGsBackgroundImpl::RenderingModeHolder setRenderingMode(OdGsBaseVectorizer& view); void restoreRenderingMode(OdGsBaseVectorizer& view, const OdGsBackgroundImpl::RenderingModeHolder &holder); public: OdGsBackgroundModulePtr m_pModule; }; /** Description: Library: Gs {group:OdGs_Classes} */ template class OdGsWNestedBackgroundImpl : public Interface { protected: OdGsNestedBackground *m_pNestedBackground; public: OdGsWNestedBackgroundImpl() : m_pNestedBackground(NULL) { } virtual void setNestedBackground(OdGsNestedBackground *pNestedBackground) { m_pNestedBackground = pNestedBackground; } virtual OdGsNestedBackground *getNestedBackground() const { return m_pNestedBackground; } }; //#define OD_GSBACKGROUND_VERBOSE_ON #include "TD_PackPop.h" #endif // _ODGSBACKGROUNDIMPL_H_INCLUDED_