24 #ifndef ODGSBASEVECTORIZEDEVICE_INC
25 #define ODGSBASEVECTORIZEDEVICE_INC
94 kInvalid = kFirstFlag << 0,
95 kSortRenderTypes = kFirstFlag << 1,
96 kSpatialIndexDisabled = kFirstFlag << 2,
97 kDynamicHighlight = kFirstFlag << 3,
98 kDynamicSubhighlight = kFirstFlag << 4,
99 kSupportBlocks = kFirstFlag << 5,
100 kSupportOverlays = kFirstFlag << 6,
101 kSupportComposition = kFirstFlag << 7,
102 kEnableComposition = kFirstFlag << 8,
103 kMtDisplay = kFirstFlag << 9,
104 kUseSectionGeometryMap = kFirstFlag << 10,
105 kUseVpLtypeScaleMult = kFirstFlag << 11,
106 kUseVpFilterFunction = kFirstFlag << 12,
107 kCullingVolumeEnabled = kFirstFlag << 13,
108 kDisplayOffLayers = kFirstFlag << 14,
109 kSupportInteractiveView= kFirstFlag << 15,
111 kLastFlag = kSupportInteractiveView
214 bool enableLayerVisibilityPerView =
false);
272 bool sortRenderTypes()
const;
273 void setSortRenderTypes(
bool flag);
278 bool supportOverlays()
const;
279 void setSupportOverlays(
bool bFlag);
284 bool isSpatialIndexDisabled()
const;
285 void disableSpatialIndex(
bool bSet);
287 bool isCullingVolumeEnabled()
const;
288 void enableCullingVolume(
bool bSet);
290 bool supportDynamicHighlight()
const;
291 bool supportDynamicSubhighlight()
const;
293 bool supportBlocks()
const;
295 bool supportComposition()
const;
297 bool compositionEnabled()
const;
298 void enableComposition(
bool bSet);
300 bool isDisplayOffLayersEnabled()
const;
301 void enableDisplayOffLayers(
bool bSet);
305 return m_slotManager.
contains(acgiId);
340 friend class DisplayScheduler;
OdArray< ODCOLORREF, OdMemoryAllocator< ODCOLORREF > > ODGSPALETTE
OdSmartPtr< OdGiTransientManager > OdGiTransientManagerPtr
#define GS_TOOLKIT_EXPORT
#define SETBIT(flags, bit, value)
#define GETBIT(flags, bit)
bool mergeInvalidRects(OdGsDCRect *pRect, OdUInt32 nOverlays=kGsAllOverlays) const
bool containsInvalidRects(const OdGsViewImpl &view, bool bIfHas=false, OdUInt32 nOverlays=kGsAllOverlays) const
void clearInvalidRects(OdUInt32 nOverlays=kGsAllOverlays)
bool hasInvalidRects(OdUInt32 nOverlays=kGsAllOverlays) const
bool eraseView(int viewIndex)
ODCOLORREF getBackgroundColor()
virtual bool isSupportDeviceStateSaving() const
void onDisplayChange(int bitsPerPixel, int xPixels, int yPixels)
OdGiTransientManager * transientManager()
bool isValidViewportId(const OdUInt32 acgiId) const
bool supportBlocks() const
const OdGsDCRect & outputRect() const
int isOverlayRequireUpdate(OdGsOverlayId overlayId) const
const OdGsView * rootView() const
GsDeviceOverlayDataContainer m_overlayData
virtual void update(OdGsDCRect *pUpdatedRect)
void setInvalid(bool bSet)
OdGsModel::RenderType transientRenderType() const
void unregisterOverlay(OdGsViewImpl *pView, const OdGsModel *pModel)
void clearSectionGeometryMap()
OdGsUpdateManager * updateManager()
void setTransientRenderType(OdGsModel::RenderType renderType)
OdGsModel::RenderType m_transientRenderType
void disableSpatialIndex(bool bSet)
void onSize(const OdGsDCRect &outputRect)
virtual bool supportParallelDisplay() const
virtual void updateScreen()
GsVectPerformanceData m_vectPerfData
bool useVpLtypeScaleMult() const
OdSmartPtr< OdGiContext > m_pUserContext
OdRxObject * mtServices()
void setUpdateManager(OdGsUpdateManagerPtr pManager)
const ODCOLORREF * getPalette() const
bool isDisplayOffLayersEnabled() const
void enableDisplayOffLayers(bool bSet)
OdRxObjectPtr m_sectionManager
void onViewAdded(OdGsView *pView)
void invalidate(const OdGsViewImpl *pView, const OdGsDCRect &screenRect)
bool saveDeviceState(OdGsFiler *pFiler) const
bool isModelCompatible(OdGsModel *pModel) const
void invalidate(const OdGsDCRect &screenRect)
const OdGsView * viewAt(int viewIndex) const
bool useVpFilterFunction() const
bool supportDynamicHighlight() const
bool supportDynamicSubhighlight() const
virtual OdGsOverlayId renderTypeOverlay(OdGsModel::RenderType renderType) const
bool supportInteractiveViewMode() const
OdRxObjectPtr getSectionGeometryMap()
void setLogicalPalette(const ODCOLORREF *logicalPalette, int numColors)
bool setBackgroundColor(ODCOLORREF backgroundColor)
~OdGsBaseVectorizeDevice()
void invalidate(const OdGsModel *pModel, const OdGsDCRect &screenRect)
OdGsModelPtr createModel()
virtual void onOverlayActivated(OdGsOverlayId nOverlay)
OdGsUpdateManagerPtr getUpdateManager(bool createIfNotExist=false)
void getSize(OdGsDCRect &outputRect) const
ODCOLORREF getPaletteBackground() const
const ODCOLORREF * getLogicalPalette(int &numColors) const
bool supportOverlays() const
void enableCullingVolume(bool bSet)
virtual OdUInt32 renderTypeWeight(OdGsModel::RenderType renderType) const
void setSupportInteractiveViewMode(bool bSet)
const OdGsViewImpl * viewImplAt(int viewIndex) const
bool isCullingVolumeEnabled() const
OdRxObjectPtr deviceSelfReference()
void viewUpdateScreen(OdGsBaseVectorizeView *pView, bool bUpdate)
OdGsUpdateManagerPtr m_pUpdateManager
virtual void onOverlayDeactivated(OdGsOverlayId nOverlay)
bool eraseView(OdGsView *pView)
bool isSpatialIndexDisabled() const
OdRxObjectPtr m_sectionGeometryMap
virtual void invalidate(OdUInt32 nOverlays, const OdGsDCRect &screenRect)
virtual bool saveLinkedDeviceState(OdGsFiler *pFiler) const
void registerOverlay(OdGsViewImpl *pView, const OdGsModel *pModel)
void setValid(bool bFlag)
void setSortRenderTypes(bool flag)
OdGsBaseVectorizeDevice()
ODCOLORREF getColor(OdUInt16 colorIndex) const
bool loadDeviceState(OdGsFiler *pFiler)
OdGsOverlayId gsModelOverlay(const OdGsModel *pModel) const
virtual bool supportPartialUpdate() const
void addView(OdGsView *pView)
ODRX_DECLARE_MEMBERS(OdGsBaseVectorizeDevice)
virtual bool loadLinkedDeviceState(OdGsFiler *pFiler)
bool supportComposition() const
OdGiTransientManagerPtr m_transientManager
void onRealizeBackgroundPalette()
void setSupportOverlays(bool bFlag)
virtual void updateGeometry()
OdArray< OdGsViewPtr > m_views
bool sortRenderTypes() const
bool compositionEnabled() const
void enableComposition(bool bSet)
void setUserGiContext(OdGiContext *pUserGiContext)
OdGsViewImpl * viewImplAt(int viewIndex)
OdGiSectionGeometryManager * getSectionGeometryManager()
OdRxObjectPtr m_pDeviceRef
virtual void invalidate(OdUInt32 nOverlays)
virtual bool loadClientDeviceState(OdGsFiler *pFiler)
void invalidateRegion(const OdGiPathNode &path)
const OdGsDCRectArray & invalidRects() const
virtual bool saveClientDeviceState(OdGsFiler *pFiler) const
OdGsView * viewAt(int viewIndex)
OdGsViewPtr createView(const OdGsClientViewInfo *pViewInfo=0, bool enableLayerVisibilityPerView=false)
void setTransientManager(OdGiTransientManager *pManager)
void insertView(int viewIndex, OdGsView *pView)
OdGiContext * userGiContext() const
OdRxDictionaryPtr properties()
void getSnapShot(OdGiRasterImagePtr &pImage, const OdGsDCRect ®ion)
void onRealizeForegroundPalette()
virtual const ODCOLORREF * getLogicalPalette(int &numColors) const =0
virtual void getSize(OdGsDCRect &outputRect) const =0
OverlayDataType * getOverlayData(OdGsOverlayId id, bool bActivate=false)
bool contains(OdSlotId slotId) const
OdGsDCRectArray m_invalidRects