diff options
Diffstat (limited to 'macosx/TView.h')
-rw-r--r-- | macosx/TView.h | 286 |
1 files changed, 0 insertions, 286 deletions
diff --git a/macosx/TView.h b/macosx/TView.h deleted file mode 100644 index 97c8f7b55..000000000 --- a/macosx/TView.h +++ /dev/null @@ -1,286 +0,0 @@ -/* - File: TView.h - - Version: 1.0 - - Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. - ("Apple") in consideration of your agreement to the following terms, and your - use, installation, modification or redistribution of this Apple software - constitutes acceptance of these terms. If you do not agree with these terms, - please do not use, install, modify or redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and subject - to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs - copyrights in this original Apple software (the "Apple Software"), to use, - reproduce, modify and redistribute the Apple Software, with or without - modifications, in source and/or binary forms; provided that if you redistribute - the Apple Software in its entirety and without modifications, you must retain - this notice and the following text and disclaimers in all such redistributions of - the Apple Software. Neither the name, trademarks, service marks or logos of - Apple Computer, Inc. may be used to endorse or promote products derived from the - Apple Software without specific prior written permission from Apple. Except as - expressly stated in this notice, no other rights or licenses, express or implied, - are granted by Apple herein, including but not limited to any patent rights that - may be infringed by your derivative works or by other works in which the Apple - Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO - WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED - WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN - COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION - OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT - (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Copyright © 2002 Apple Computer, Inc., All Rights Reserved -*/ - -#ifndef TView_H_ -#define TView_H_ - -#include <Carbon/Carbon.h> - -#include "TCarbonEvent.h" -#include "TRect.h" - -#define PURE_VIRTUAL 0 - -class TView -{ -public: - // Bounds and Frame - OSStatus SetFrame( - const HIRect& inBounds ); - HIRect Frame(); - HIRect Bounds(); - - // Visibility - OSStatus Show(); - OSStatus Hide(); - - EventTargetRef GetEventTarget(); - - OSStatus AddSubView( - TView* inSubView ); - OSStatus RemoveFromSuperView(); - - // Accessors - HIViewRef GetViewRef() const - { return fViewRef; } - void Hilite( - ControlPartCode inPart ); - ControlPartCode GetHilite(); - WindowRef GetOwner(); - SInt32 GetValue(); - void SetValue( - SInt32 inValue ); - SInt32 GetMinimum(); - void SetMinimum( - SInt32 inMinimum ); - SInt32 GetMaximum(); - void SetMaximum( - SInt32 inMaximum ); - - // State - Boolean IsVisible(); - Boolean IsEnabled(); - Boolean IsActive(); - - OSStatus Invalidate(); // was SetNeedsDisplay() - - // A "fake" event handler - virtual void TimerFired( EventLoopTimerRef inTimer ); - -protected: - // Autoinvalidation - enum { - kAutoInvalidateOnActivate = (1 << 0), - kAutoInvalidateOnHilite = (1 << 1), - kAutoInvalidateOnEnable = (1 << 2), - kAutoInvalidateOnValueChange = (1 << 3), - kAutoInvalidateOnTitleChange = (1 << 4) - }; - void ChangeAutoInvalidateFlags( - OptionBits inSetFlags, - OptionBits inClearFlags ); - OptionBits GetAutoInvalidateFlags() - { return fAutoInvalidateFlags; } - - // Types - typedef OSStatus (*ConstructProc)( - ControlRef inBaseControl, - TView** outView ); - - // Construction/Destruction - TView( HIViewRef inControl ); - virtual ~TView(); - - virtual ControlKind GetKind() = PURE_VIRTUAL; - virtual UInt32 GetBehaviors(); - - // Handlers - virtual OSStatus ActiveStateChanged(); - virtual OSStatus BoundsChanged( - UInt32 inOptions, - const HIRect& inOriginalBounds, - const HIRect& inCurrentBounds, - RgnHandle inInvalRgn ); - virtual OSStatus ControlHit( - ControlPartCode inPart, - UInt32 inModifiers ); - virtual OSStatus EnabledStateChanged(); - virtual void Draw( - RgnHandle inLimitRgn, - CGContextRef inContext ); - virtual OSStatus GetData( - OSType inTag, - ControlPartCode inPart, - Size inSize, - Size* outSize, - void* inPtr ); - virtual OSStatus GetRegion( - ControlPartCode inPart, - RgnHandle outRgn ); - virtual OSStatus HiliteChanged( - ControlPartCode inOriginalPart, - ControlPartCode inCurrentPart, - RgnHandle inInvalRgn ); - virtual ControlPartCode HitTest( - const HIPoint& inWhere ); - virtual OSStatus Initialize( - TCarbonEvent& inEvent ); - virtual OSStatus SetData( - OSType inTag, - ControlPartCode inPart, - Size inSize, - const void* inPtr ); - virtual OSStatus SetFocusPart( - ControlPartCode inDesiredFocus, - RgnHandle inNnvalidRgn, - Boolean inFocusEverything, - ControlPartCode* outActualFocus ); - virtual OSStatus TextInput( - TCarbonEvent& inEvent ); - virtual OSStatus TitleChanged(); - virtual OSStatus Track( - TCarbonEvent& inEvent, - ControlPartCode* outPartHit ); - virtual OSStatus ValueChanged(); - - // Sizing - virtual OSStatus GetSizeConstraints( - HISize* outMin, - HISize* outMax ); - virtual OSStatus GetOptimalSize( - HISize* outSize, - float* outBaseLine ); - - // Accessors - WindowRef GetWindowRef() - { return GetControlOwner( GetViewRef() ); } - - - // Drag and drop - virtual bool DragEnter( - DragRef inDrag ); - virtual bool DragWithin( - DragRef inDrag ); - virtual bool DragLeave( - DragRef inDrag ); - virtual OSStatus DragReceive( - DragRef inDrag ); - - // Command processing - virtual OSStatus ProcessCommand( - const HICommand& inCommand ); - virtual OSStatus UpdateCommandStatus( - const HICommand& inCommand ); - - // Mouse events - virtual OSStatus MouseDown( - HIPoint& inMouseLocation, - UInt32 inKeyModifiers, - EventMouseButton inMouseButton, - UInt32 inClickCount, - TCarbonEvent& inEvent); - virtual OSStatus MouseUp( - HIPoint& inMouseLocation, - UInt32 inKeyModifiers, - EventMouseButton inMouseButton, - UInt32 inClickCount ); - virtual OSStatus MouseDragged( - HIPoint& inMouseLocation, - UInt32 inKeyModifiers, - EventMouseButton inMouseButton, - UInt32 inClickCount ); - virtual OSStatus MouseEntered( - HIPoint& inMouseLocation, - UInt32 inKeyModifiers, - EventMouseButton inMouseButton, - UInt32 inClickCount ); - virtual OSStatus MouseExited( - HIPoint& inMouseLocation, - UInt32 inKeyModifiers, - EventMouseButton inMouseButton, - UInt32 inClickCount ); - virtual OSStatus MouseWheelMoved( EventMouseWheelAxis inAxis, SInt32 inDelta, UInt32 inKeyModifiers ); - virtual OSStatus ContextualMenuClick( HIPoint& inMouseLocation ); - - // Utility - static OSStatus RegisterSubclass( - CFStringRef inID, - ConstructProc inProc ); - static EventRef CreateInitializationEvent(); - enum Interface { - kDragAndDrop = 1, - kKeyboardFocus, - kMouse, - kMouseTracking - }; - virtual OSStatus ActivateInterface( - Interface inInterface ); - - OSStatus InstallTimer( - EventTimerInterval inFireDelay, - EventLoopTimerRef* outTimer ); - - // Debugging - virtual void PrintDebugInfo(); - Boolean debugPrint; -private: - static pascal OSStatus ObjectEventHandler( - EventHandlerCallRef inCallRef, - EventRef inEvent, - void* inUserData ); - static pascal OSStatus ViewEventHandler( - EventHandlerCallRef inCallRef, - EventRef inEvent, - void* inUserData ); - static pascal OSStatus WindowEventHandler( - EventHandlerCallRef inCallRef, - EventRef inEvent, - void* inUserData ); - static pascal void TimerEventHandler( - EventLoopTimerRef inTimer, - void* inUserData ); - OSStatus HandleEvent( - EventHandlerCallRef inCallRef, - TCarbonEvent& inEvent ); - - HIViewRef fViewRef; - EventHandlerRef fHandler; - - EventHandlerRef mouseEventHandler; - OptionBits fAutoInvalidateFlags; - -}; - -typedef TView* TViewPtr; - -#endif // TView_H_ |