/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in * compliance with the NPL. You may obtain a copy of the NPL at * http://www.mozilla.org/NPL/ * * Software distributed under the NPL is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL * for the specific language governing rights and limitations under the * NPL. * * The Initial Developer of this code under the NPL is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All Rights * Reserved. */ #pragma once #include #include // // CChameleonCaption (should be renamed to CColorCaption) // // A caption that can have its text color set dynamically (not just by // text traits). // class CChameleonCaption : public LGACaption { public: enum { class_ID = 'ccpt' }; CChameleonCaption ( LStream * inStream ) ; virtual void SetColor ( RGBColor & textColor, RGBColor & backColor ) ; virtual void SetColor ( RGBColor & textColor ) ; protected: virtual void DrawSelf(); RGBColor mTextColor; RGBColor mBackColor; }; // CChameleonCaption // // CChameleonBroadcastCaption (should be renamed to CColorCaption) // // A color-changing caption that broadcasts when you click on it. It will also // change text traits on roll-over (disable by passing the same thing for both). // class CChameleonBroadcastCaption : public CChameleonCaption, public LBroadcaster { public: enum { class_ID = 'ccbc' } ; CChameleonBroadcastCaption ( LStream * inStream ) ; private: virtual void ClickSelf ( const SMouseDownEvent & inEvent ) ; virtual void MouseWithin ( Point inWhere, const EventRecord & inEvent ) ; virtual void MouseLeave ( Point inWhere, const EventRecord & inEvent ) ; MessageT mMessage; ResIDT mRolloverTraits; ResIDT mSavedTraits; }; // class CChameleonBroadcastCaption