osxgraphicstoolkit.h
来自「这是VCF框架的代码」· C头文件 代码 · 共 266 行
H
266 行
#ifndef _VCF_OSXGRAPHICSTOOLKIT_H__#define _VCF_OSXGRAPHICSTOOLKIT_H__//OSXGraphicsToolkit.h/*Copyright 2000-2004 The VCF Project.Please see License.txt in the top level directorywhere you installed the VCF.*/namespace VCF {/**Utility class to faciltate the transfer from a VCF::Rect instance or HIRect instance toOSX's ::Rect struct*/class OSXRect {public: OSXRect(){ rect_.left = 0; rect_.right = 0; rect_.top = 0; rect_.bottom = 0; } OSXRect( const OSXRect& rhs ){ *this = rhs; } OSXRect( const ::Rect& rhs ){ *this = rhs; } OSXRect( const VCF::Rect& rhs ){ *this = rhs; } OSXRect( VCF::Rect* rhs ){ *this = rhs; } OSXRect( const HIRect& rhs ){ *this = rhs; } OSXRect( HIRect* rhs ){ *this = rhs; } int left() const { return rect_.left; } int right() const { return rect_.right; } int top() const { return rect_.top; } int bottom() const { return rect_.bottom; } int width() const { return rect_.right - rect_.left; } int height() const { return rect_.bottom - rect_.top; } operator ::Rect& () { return rect_; } operator ::Rect* () { return &rect_; } operator const ::Rect& () const { return rect_; } operator VCF::Rect () const { VCF::Rect result( rect_.left, rect_.top, rect_.right, rect_.bottom ); return result; } operator HIRect () const { HIRect result; result.origin.x = rect_.left; result.origin.y = rect_.top; result.size.width = width(); result.size.height = height(); return result; } OSXRect& operator=( const OSXRect& rhs ) { rect_ = rhs.rect_; return *this; } OSXRect& operator=( const ::Rect& rhs ) { rect_ = rhs; return *this; } OSXRect& operator=( const VCF::Rect& rhs ) { rect_.left = (int)rhs.left_; rect_.top = (int)rhs.top_; rect_.right = (int)rhs.right_; rect_.bottom = (int)rhs.bottom_; return *this; } OSXRect& operator=( VCF::Rect* rhs ) { rect_.left = (int)rhs->left_; rect_.top = (int)rhs->top_; rect_.right = (int)rhs->right_; rect_.bottom = (int)rhs->bottom_; return *this; } OSXRect& operator=( const HIRect& rhs ) { rect_.left = (int)rhs.origin.x; rect_.top = (int)rhs.origin.y; rect_.right = (int)(rhs.origin.x + rhs.size.width); rect_.bottom = (int)(rhs.origin.y + rhs.size.height); return *this; } OSXRect& operator=( HIRect* rhs ) { rect_.left = (int)rhs->origin.x; rect_.top = (int)rhs->origin.y; rect_.right = (int)(rhs->origin.x + rhs->size.width); rect_.bottom = (int)(rhs->origin.y + rhs->size.height); return *this; } protected: ::Rect rect_;};/***Class OSXGraphicsToolkit documentation*/class OSXGraphicsToolkit : public GraphicsToolkit {public: OSXGraphicsToolkit(); virtual ~OSXGraphicsToolkit(); virtual ContextPeer* internal_createContextPeer( const unsigned long& width, const unsigned long& height ); virtual ContextPeer* internal_createContextPeer( OSHandleID contextID ); virtual FontPeer* internal_createFontPeer( const String& fontName ); virtual FontPeer* internal_createFontPeer( const String& fontName, const double& pointSize ); virtual Image* internal_createImage( const unsigned long& width, const unsigned long& height, const Image::ImageType& imageType ); virtual Image* internal_createImage( GraphicsContext* context, Rect* rect, const Image::ImageType& imageType ); virtual Font* getDefaultSystemFont() { return systemFont_; } virtual PrintSessionPeer* internal_createPrintSessionPeer(); virtual GraphicsResourceBundlePeer* internal_createGraphicsResourceBundlePeer(); virtual double internal_getDPI( GraphicsContext* context ); virtual void internal_systemSettingsChanged();protected: void initSystemFont(); void loadSystemColors(); Font* systemFont_;};}; //end of namespace VCF/***CVS Log info*$Log$*Revision 1.6 2006/04/07 02:35:41 ddiego*initial checkin of merge from 0.6.9 dev branch.**Revision 1.5.2.2 2006/02/22 01:26:22 ddiego*mac osx updates.**Revision 1.5.2.1 2005/11/10 02:02:39 ddiego*updated the osx build so that it*compiles again on xcode 1.5. this applies to the foundationkit and graphicskit.**Revision 1.5 2005/07/09 23:06:01 ddiego*added missing gtk files**Revision 1.4 2005/01/08 20:52:48 ddiego*fixed some glitches in osx impl.**Revision 1.3.2.1 2005/05/08 19:55:32 ddiego*osx updates, not yet functional.**Revision 1.3 2004/12/01 04:31:44 ddiego*merged over devmain-0-6-6 code. Marcello did a kick ass job*of fixing a nasty bug (1074768VCF application slows down modal dialogs.)*that he found. Many, many thanks for this Marcello.**Revision 1.2.2.1 2004/09/22 13:22:01 ddiego*removed mgc code for drawing vector shapes. Unneccessary since agg does this just fine.**Revision 1.2 2004/08/07 02:49:18 ddiego*merged in the devmain-0-6-5 branch to stable**Revision 1.1.2.7 2004/07/27 04:26:05 ddiego*updated devmain-0-6-5 branch with osx changes**Revision 1.1.2.6.2.1 2004/06/15 04:04:38 ddiego*revamped osx theme drawing API**Revision 1.1.2.6 2004/06/06 07:05:34 marcelloptr*changed macros, text reformatting, copyright sections**Revision 1.1.2.5 2004/05/06 03:01:29 ddiego*checking in OSX updates**Revision 1.1.2.4 2004/04/30 05:44:34 ddiego*added OSX changes for unicode migration**Revision 1.2.2.1 2004/04/26 21:58:42 marcelloptr*changes for dir reorganization: _VCF_MACRO_H__**Revision 1.2 2004/04/03 15:48:41 ddiego*Merged over code from the 0-6-3 branch.**Revision 1.1.2.2 2004/02/24 01:42:43 ddiego*initial OSX ApplicationKit port checkin**Revision 1.1.2.1 2004/02/21 03:27:06 ddiego*updates for OSX porting**/#endif // _VCF_OSXGRAPHICSTOOLKIT_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?