CFx SDK Documentation  2023 SP0
FxDisplayDevice.h
Go to the documentation of this file.
1 //
2 // (C) Copyright 2005-2022 by Graebert GmbH.
3 //
4 // Permission to use, copy, modify, and distribute this software in
5 // object code form for any purpose and without fee is hereby granted,
6 // provided that the above copyright notice appears in all copies and
7 // that both that copyright notice and the limited warranty and
8 // restricted rights notice below appear in all supporting
9 // documentation.
10 //
11 // GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
12 // GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
13 // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
14 // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
15 // UNINTERRUPTED OR ERROR FREE.
16 
17 #pragma once
18 
19 #include "FxPragmaPush.h"
20 
21 #include "FxVectorizeDevice.h"
22 #include "FxPlatformSettings.h"
23 
24 #include <Gi/GiRasterImage.h>
25 
26 class CFxView;
27 
28 #if !defined ( FxWinAPI )
29 #define FxWinAPI
30 #endif
31 
32 typedef void (FxWinAPI * DRAWHOOKPROC)(const CFxView*);
33 
39 class CFxDocument;
40 class CFxDisplayContext;
41 class OdDbObject;
42 
44 {
45 public:
47  ~CFxDisplayDevice(void) override;
48 
52  virtual const CFxDocument* GetFxDocument() const = 0;
53 
54  virtual void AddDrawHook( DRAWHOOKPROC ) = 0;
55  virtual void RemoveDrawHook( DRAWHOOKPROC ) = 0;
56 
62  virtual void Regen( CFxView* pView ) = 0;
63 
67  virtual void Redraw() = 0;
68 
73  virtual void GetScreenPicture( CFxImage& ) const = 0;
74 
78  virtual void InvalidateAllViewports() = 0;
79 
85  virtual CFxView* GetMaximizedView() = 0;
86 
92  virtual void SetMaximizedView( CFxView* pView ) = 0;
93 
101  virtual OdGiRasterImagePtr GetSlideImage( CFxView* & pView ) const = 0;
102 
109  virtual void SetSlideImage( OdGiRasterImagePtr slide, CFxView* pView ) = 0;
110 
115 
118  virtual bool IsSceneUpdatingActive() const = 0;
119 
122  virtual void SetSceneUpdatingActive( bool bVal ) = 0;
123 
126  virtual void ShrinkMemory() = 0;
127 
130  virtual CFxDisplayContext* GetDisplayContext() const = 0;
131 };
132 
134 
135 typedef enum
136 {
141  kDrawModeDisabled = 0x8
143 
144 DDKERNEL_API void RedrawEntity( const OdDbObject* pObject, DrawMode addModes, DrawMode removeModes, OdGsMarker gsMarker = -1 );
145 
146 #include "FxPragmaPop.h"
#define DDKERNEL_API
Definition: DDKERNEL.h:32
typedef void(FxWinAPI *DRAWHOOKPROC)(const CFxView *)
DDKERNEL_API void RedrawEntity(const OdDbObject *pObject, DrawMode addModes, DrawMode removeModes, OdGsMarker gsMarker=-1)
DrawMode
@ kDrawModeHidden
@ kDrawModeNormal
@ kDrawModeFadeDisabled
@ kDrawModeDisabled
@ kDrawModeHighlighted
OdSmartPtr< CFxDisplayDevice > CFxDisplayDevicePtr
#define FxWinAPI
#define CFxImage
#define ODCOLORREF
Definition: OdPlatform.h:883
ptrdiff_t OdGsMarker
virtual void RemoveDrawHook(DRAWHOOKPROC)=0
virtual bool IsSceneUpdatingActive() const =0
virtual void GetScreenPicture(CFxImage &) const =0
virtual void SetSlideImage(OdGiRasterImagePtr slide, CFxView *pView)=0
virtual ODCOLORREF GetEffectiveBackgroundColor() const =0
virtual OdGiRasterImagePtr GetSlideImage(CFxView *&pView) const =0
virtual const CFxDocument * GetFxDocument() const =0
virtual void SetSceneUpdatingActive(bool bVal)=0
~CFxDisplayDevice(void) override
virtual void SetMaximizedView(CFxView *pView)=0
virtual void InvalidateAllViewports()=0
virtual CFxDisplayContext * GetDisplayContext() const =0
virtual void Redraw()=0
virtual void AddDrawHook(DRAWHOOKPROC)=0
virtual void Regen(CFxView *pView)=0
virtual CFxView * GetMaximizedView()=0
virtual void ShrinkMemory()=0