home *** CD-ROM | disk | FTP | other *** search
- /* CIconBuddy.c
- * An icon pane/button class based on the System 7 icon buddy calls that
- * draw/track icon suites. See Tech Note M.IM.IconDrawing for more details.
- *
- * SUPERCLASS = CPane.c
- *
- * Copyright ©1992, Mark/Space Softworks, All Rights Reserved
- *
- * This class is buyware, if you use it, buy a Mark/Space Softworks product.
- * Send email to one of the below addresses for more details.
- * Internet: mspace@netcom.com
- * AppleLink: MARKSPACE
- * AOL: markspace
- *
- * 12/12/92 bhall Created
- * 12/14/92 bhall Cleaned up for submission to TCL-TALK
- */
-
- #pragma once
-
- #include <CPane.h>
- #include <Icons.h>
-
- class CIconBuddy : public CPane {
-
- public:
-
- void IIconBuddy(
- CView *anEnclosure, CBureaucrat *aSupervisor,
- short awidth, short aHeight,
- short aHEncl, short aVEncl,
- SizingOption aHSizing, SizingOption aVSizing,
- short iconID, Boolean fPreferColor);
-
- virtual void IViewTemp(
- CView *anEnclosure, CBureaucrat *aSupervisor, Ptr viewData);
-
- virtual void Activate(void);
- virtual void Deactivate(void);
-
- virtual void SetIconID(short anID);
- virtual short GetIconID(void);
-
- virtual void SetAlignment(IconAlignmentType anAlign);
- virtual IconAlignmentType GetAlignment(void);
-
- virtual void Draw(Rect *area);
-
- virtual void SimulateClick(void);
- virtual void DoClick(Point hitPt, short modifierKeys, long when);
-
- virtual void SetClickCmd(long aCmd);
- virtual long GetClickCmd(void);
-
- protected:
- short iconID; // ID of the family to use
- long clickCmd; // Command to send on a good click
- IconAlignmentType align;
- Boolean allowDistortion;
- static RgnHandle cIconRgn;
-
- virtual void IIconBuddyX(Boolean fPreferColor);
- virtual void GetIconRect(Rect *theRect);
- virtual void DrawIcon(Boolean fHilite);
- virtual Boolean Track(void);
- };
-
-
- typedef struct tIconPaneTemp {
- PaneTemp paneTemp;
- short iconID;
- short fPreferColor;
- long clickCmd;
- } tIconPaneTemp, *tIconPaneTempP;
-