00001 #ifndef VGSystem_H 00002 #define VGSystem_H 00003 00004 /* 00005 GUIDO Library 00006 Copyright (C) 2003, 2008 Grame 00007 00008 This Source Code Form is subject to the terms of the Mozilla Public 00009 License, v. 2.0. If a copy of the MPL was not distributed with this 00010 file, You can obtain one at http://mozilla.org/MPL/2.0/. 00011 00012 Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France 00013 research@grame.fr 00014 00015 */ 00016 00017 class VGDevice; 00018 class VGFont; 00019 00039 // -------------------------------------------------------------- 00040 // VGSystem class 00041 // -------------------------------------------------------------- 00061 class VGSystem 00062 { 00063 public: 00064 00065 virtual ~VGSystem() {} 00066 00067 // - VGDevice services ------------------------------------------- 00068 00071 virtual VGDevice* CreateDisplayDevice( ) = 0; 00072 00076 virtual VGDevice* CreateMemoryDevice( int inWidth, 00077 int inHeight ) = 0; 00081 virtual VGDevice* CreateMemoryDevice( const char * inPath ) = 0; 00082 00084 virtual VGDevice* CreatePrinterDevice( ) = 0; 00085 00090 virtual VGDevice* CreateAntiAliasedMemoryDevice( int inWidth, 00091 int inHeight ) = 0; 00092 00093 // - Font services ----------------------------------------------- 00094 00096 virtual const VGFont* CreateVGFont( const char * faceName, int size, int properties ) const = 0; 00097 00098 }; 00099 00102 #endif