Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

TImagePopup.h

Go to the documentation of this file.
00001 /* 00002 * TImagePopup.h 00003 * Ritmo 00004 * 00005 * Created by Chris Reed on Mon Feb 17 2003. 00006 * Copyright (c) 2003 Chris Reed. All rights reserved. 00007 * 00008 */ 00009 00010 #include <Carbon/Carbon.h> 00011 00012 #if !defined(_TImagePopup_h_) 00013 #define _TImagePopup_h_ 00014 00015 #include "TViewNoCompositingCompatible.h" 00016 00019 #define kImagePopupControlValueImageDictTag FOUR_CHAR_CODE('VImg') 00020 00023 #define kImagePopupControlValueImageFilenameDictTag FOUR_CHAR_CODE('VImF') 00024 00027 #define kImagePopupControlUseImagesNotTextTag FOUR_CHAR_CODE('I!Tx') 00028 00039 class TImagePopup : public TViewNoCompositingCompatible 00040 { 00041 friend class TViewNoCompositingCompatible; 00042 public: 00043 static CFStringRef GetControlName() { return CFSTR("popup"); } 00044 protected: 00045 // Contstructor/Destructor 00046 TImagePopup(HIViewRef inControl); 00047 virtual ~TImagePopup(); 00048 00049 virtual ControlKind GetKind(); 00050 00051 virtual OSStatus Initialize(TCarbonEvent& inEvent); 00052 virtual ControlPartCode HitTest(const HIPoint& inWhere); 00053 virtual void CompatibleDraw(RgnHandle inLimitRgn, CGContextRef inContext, bool inCompositing); 00054 virtual OSStatus HiliteChanged(ControlPartCode inOriginalPart, ControlPartCode inCurrentPart, RgnHandle inInvalRgn); 00055 virtual OSStatus Track(TCarbonEvent& inEvent, ControlPartCode* outPart); 00056 virtual void TitleChanged(); 00057 virtual void ValueChanged(); 00058 virtual OSStatus GetRegion(ControlPartCode inPart, RgnHandle outRgn); 00059 virtual UInt32 GetBehaviors() { return TViewNoCompositingCompatible::GetBehaviors() | kControlSupportsEmbedding | kControlHasSpecialBackground; } 00060 00061 virtual OSStatus SetData(OSType inTag, ControlPartCode inPart, Size inSize, const void* inPtr); 00062 virtual OSStatus GetData(OSType inTag, ControlPartCode inPart, Size inSize, Size* outSize, void* inPtr); 00063 00064 private: 00065 CGImageRef mBackImage; 00066 MenuRef mPopupMenu; 00067 CFStringRef mSelectedItemText; 00068 ControlFontStyleRec mTextStyle; 00069 float mLeftInset; 00070 float mRightInset; 00071 CFStringRef mFilenameBase; 00072 bool mUseValueImages; 00073 CFMutableDictionaryRef mValueImageCache; 00074 00075 CGImageRef GetImageForValue(); 00076 }; 00077 00078 #endif _TImagePopup_h_





Generated on Sun May 23 19:32:00 2004 for AUGUI Framework by doxygen1.3.7

hosted on SourceForge.net Logo