CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
FxDisplayDevice.h
Go to the documentation of this file.
1//
2// (C) Copyright 2005-2023 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
26class CFxView;
27
28#if !defined ( FxWinAPI )
29#define FxWinAPI
30#endif
31
32typedef void (FxWinAPI * DRAWHOOKPROC)(const CFxView*);
33
39class CFxDocument;
40class CFxDisplayContext;
41class OdDbObject;
42
44{
45public:
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
135typedef enum
136{
143
144DDKERNEL_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
DDKERNEL_API void RedrawEntity(const OdDbObject *pObject, DrawMode addModes, DrawMode removeModes, OdGsMarker gsMarker=-1)
DrawMode
@ kDrawModeHidden
@ kDrawModeNormal
@ kDrawModeFadeDisabled
@ kDrawModeDisabled
@ kDrawModeHighlighted
void(FxWinAPI * DRAWHOOKPROC)(const CFxView *)
OdSmartPtr< CFxDisplayDevice > CFxDisplayDevicePtr
#define FxWinAPI
#define CFxImage
#define ODCOLORREF
Definition: OdPlatform.h:933
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 const CFxDocument * GetFxDocument() const =0
virtual OdGiRasterImagePtr GetSlideImage(CFxView *&pView) const =0
virtual CFxView * GetMaximizedView()=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 void ShrinkMemory()=0
typedef void(APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture)