/////////////////////////////////////////////////////////////////////////////// // 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 OD_GS_SR_VECTORIZE_VIEW #define OD_GS_SR_VECTORIZE_VIEW #include "TD_PackPush.h" #include "GsSrBaseClasses.h" #include "GiSrGeometry.h" class OdSrMetafilePackager; class OdSrFrameContext; class OdSrUpdateManager; class OdSrConveyorPipelineManager; class OdGsSrVectorizerDevice; class OdGsSrVectorizeView : public OdGsSrBaseView { friend class OdGsSrVectorizerDevice; friend class OdSrUpdateManager; friend class OdSrMetafilePackager; public: OdGsSrVectorizeView(); ~OdGsSrVectorizeView() override; void getViewportClipRect(OdGsDCRect& pRect); void drawViewportFrame() override; void loadViewport() override; void setEdgeRects(const OdGsDCRectArray& rects); OdGsDCRectArray& edgeRects(); void initMetrics(); bool isViewModified(); void beginViewVectorization() override; void endViewVectorization() override; bool enabledSoftwareHLR(); bool isMoved() const; bool isValidTol(OdInt32 pixTolerance) const; void dolly(double xDolly, double yDolly, double zDolly); void roll(double rollAngle); void orbit(double xOrbit, double yOrbit); void zoom(double zoomFactor); void pan(double xPan, double yPan); void setView(const OdGePoint3d& position, const OdGePoint3d& target, const OdGeVector3d& upVector, double fieldWidth, double fieldHeight, Projection projection = kParallel); void zoomWindow(const OdGePoint2d& lowerLeft, const OdGePoint2d& upperRight); void zoomExtents(const OdGePoint3d& minPt, const OdGePoint3d& maxPt); void setBackClip(double distance); void setFrontClip(double distance); void rasterImageDc(const OdGePoint3d& origin, const OdGeVector3d& u, const OdGeVector3d& v, const OdGiRasterImage* pImg, // image object const OdGePoint2d* uvBoundary, // may not be null OdUInt32 numBoundPts, bool transparency, double brightness, double contrast, double fade); void ownerDrawDc(const OdGePoint3d& origin, const OdGeVector3d& u, const OdGeVector3d& v, const OdGiSelfGdiDrawable* pDrawable, bool bDcAligned, bool bAllowClipping); void text(const OdGePoint3d& position, const OdGeVector3d& normal, const OdGeVector3d& direction, const OdChar* msg, OdInt32 length, bool raw, const OdGiTextStyle* pStyle) override; OdGsSrVectorizerDevice* device(); void updateView(); void updateScreen() override; ODCOLORREF getColorRef(const OdCmEntityColor& col, const OdCmTransparency transparency); void getFadeParams(ODCOLORREF& fadeColor, OdUInt8& fadingValue) const; bool isFadingEnabledAndChanged() const; OdRxObjectPtr newGsMetafile() override; void beginMetafile(OdRxObject* pMetafile) override; void endMetafile(OdRxObject* pMetafile) override; void playMetafile(const OdRxObject* pMetafile) override; void onTraitsModified() override; OdGiSrGeometry* m_pGeometry; OdSrConveyorPipelineManager* m_pipelineManager; OdSrFrameContext* m_pContext; OdGeMatrix3d m_modelToOutput; private: bool m_isMoved = false; bool m_drawTransparencyView = true; mutable bool m_fadingEnabled; mutable OdUInt32 m_fadingValue; OdGsDCRectArray m_edgeRects; }; #include "TD_PackPop.h" #endif // OD_GS_SR_VECTORIZE_VIEW