FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcGsGraphicsKernel.h
Go to the documentation of this file.
1#pragma once
2
3//
4// (C) Copyright 2005-2024 by Graebert GmbH.
5//
6// Permission to use, copy, modify, and distribute this software in
7// object code form for any purpose and without fee is hereby granted,
8// provided that the above copyright notice appears in all copies and
9// that both that copyright notice and the limited warranty and
10// restricted rights notice below appear in all supporting
11// documentation.
12//
13// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
14// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
15// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
16// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
17// UNINTERRUPTED OR ERROR FREE.
18
19
20#include "AcGsModel.h"
21class AcGiDrawable;
22class AcGsView;
23class AcGsReactor;
24typedef AcGiDrawable* ( *AcGsGetInterfaceFunc ) ( LONG_PTR, bool );
26
27class AcGsClientViewInfo;
28
30{
31public:
32 virtual void addRef( void ) = 0;
33 virtual bool delRef( void ) = 0;
34 virtual AcGsDevice * createDevice( AcGsWindowingSystemID id, GS::DeviceType deviceType = GS::DeviceType::kScreenDevice ) = 0;
36 virtual AcGsView* createView( const AcGsClientViewInfo* = NULL, bool = false ) = 0;
37 virtual void deleteModel( AcGsModel* ) = 0;
38 virtual void deleteView( AcGsView* ) = 0;
39 virtual void deleteDevice( AcGsDevice * pDevice) = 0;
40 virtual void addReactor(AcGsReactor * ) = 0;
41 virtual void removeReactor( AcGsReactor * ) = 0;
42
43protected:
45};
void(* AcGsReleaseInterfaceFunc)(AcGiDrawable *)
AcGiDrawable *(* AcGsGetInterfaceFunc)(LONG_PTR, bool)
virtual void deleteDevice(AcGsDevice *pDevice)=0
virtual AcGsView * createView(const AcGsClientViewInfo *=NULL, bool=false)=0
virtual AcGsDevice * createDevice(AcGsWindowingSystemID id, GS::DeviceType deviceType=GS::DeviceType::kScreenDevice)=0
virtual void deleteModel(AcGsModel *)=0
virtual void removeReactor(AcGsReactor *)=0
virtual void addReactor(AcGsReactor *)=0
virtual void addRef(void)=0
virtual void deleteView(AcGsView *)=0
AcGsGraphicsKernel(const AcGiKernelDescriptor &KDesc)
virtual AcGsModel * createModel(AcGsModel::RenderType, LONG_PTR, AcGsGetInterfaceFunc, AcGsReleaseInterfaceFunc)=0
virtual bool delRef(void)=0
@ kScreenDevice