sys7.1-doc-wip/Internal/Pascal/IconUtilsPriv.p
2019-07-27 22:37:48 +08:00

150 lines
4.0 KiB
OpenEdge ABL

{
File: IconUtilsPriv.p
Contains: Private Pascal Interface for color icon plotting utilities
Written by: Nick Kledzik
Copyright: © 1990-1992 by Apple Computer, Inc., all rights reserved.
Change History (most recent first):
<13> 3/20/92 DC Added UpdateIconGlobals to private interfaces
<12> 3/19/92 DC Changed the printerPortCache field in the GlobalIconData
structure so that the structure would not change (and Radius
products will not break)
<11> 3/17/92 DC Exported all definitions to Icons.p except get and set icon
device, SetLabel and internal data structures.
<10> 10/29/91 DC Conditionalized last change to protect CubeE
<9> 8/30/91 DC Added printerPortCache to the globals to allow improved printing
case check.
<8> 8/28/91 JSM Cleanup header.
<7> 1/8/91 JDR (dba) Removing private Icon Utilities routines.
<6> 11/19/90 DC ngk - Moved System Icon ID's from private to public
<5> 9/15/90 DC changed setlabel to live here
<4> 9/6/90 DC Fixed the definition of icon global structure for selected cluts
<3> 7/25/90 DC Added ExpandMem structure for parallelism with IconUtilsPriv.h
<2> 7/23/90 DC brought up to date with IconUtilsPriv.p
<1> 6/6/90 ngk first checked in
<0+> 6/6/90 ngk Added generic icon ID definitions
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT IconUtilsPriv;
INTERFACE
{$ENDC}
{$IFC UNDEFINED UsingIconUtilsPriv}
{$SETC UsingIconUtilsPriv := 1}
{$I+}
{$SETC IconUtilsPrivIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED UsingIcons}
{$I Icons.p}
{$ENDC}
{$SETC UsingIncludes := IconUtilsPrivIncludes}
CONST
genericIconBase = -4000;
popupMenuSymbolResource = -3990;
standalonePopupMenuSymbolResource = -3986;
genericMailboxIconResource = -3987; {excise from 7.0}
genericLetterIconResource = -3988; {excise from 7.0}
{ IconType's }
largeIcon1 = 0;
largeIcon4 = 1;
largeIcon8 = 2;
smallIcon1 = 3;
smallIcon4 = 4;
smallIcon8 = 5;
miniIcon1 = 6;
miniIcon4 = 7;
miniIcon8 = 8;
aCIcon = 128;
IconSpace = miniIcon8 + 1;
IconDepthSpace = smallIcon1 - largeIcon1;
IconSizeSpace = IconSpace DIV IconDepthSpace;
transformMask = $03;
labelShift = $08;
labelMask = $0F00;
Labels = 8;
Sets = 8;
TYPE
IconType = INTEGER;
IconSuiteHandle = ^IconSuitePtr;
IconSuitePtr = ^IconSuite;
IconSuite = RECORD
isTag: INTEGER; { 0=>suite, 1=>cache }
isLabel: INTEGER;
table: ARRAY [0..IconSpace-1] OF Handle;
END;
IconCacheHandle = ^IconCachePtr;
IconCachePtr = ^IconCache;
IconCache = RECORD
theSuite: IconSuite;
userPtr: Ptr;
userMethod: IconGetter;
END;
DeviceCheck = RECORD
theDevice: GDHandle;
theSeed: LONGINT;
checkMask: LONGINT;
checkResults: LONGINT;
disabledCheckMask: LONGINT;
disabledCheckResults: LONGINT;
END;
Strings = ARRAY[0..Labels-1] OF Handle;
GlobalIconDataHandle = ^GlobalIconDataPtr;
GlobalIconDataPtr = ^GlobalIconData;
GlobalIconData = RECORD
labelStrings: Strings;
seeds: ARRAY [0..((Labels*Sets)-1)] OF LONGINT;
colorTables: ARRAY [0..((Labels*Sets)-1)] OF CTabHandle;
originals: ARRAY [0..1] OF CTabHandle;
labelColors: ARRAY [0..Labels-1] OF RGBColor;
indexLists: ARRAY [0..1] OF Handle;
virtualScreen: GDHandle;
deviceListSize: LONGINT;
deviceCheckList: ARRAY[0..0] OF DeviceCheck;
END;
PROCEDURE SetIconDevice(theScreen: GDHandle);
INLINE $303C, $0218, $ABC9;
PROCEDURE GetIconDevice(VAR theScreen: GDHandle);
INLINE $303C, $0220, $ABC9;
FUNCTION SetLabel(labelNumber: INTEGER; labelColor: RGBColor;
labelString: Str255): OSErr;
INLINE $303C, $050C, $ABC9;
{$IFC TheFuture}
FUNCTION UpdateIconGlobals: OSErr;
INLINE $303C, $0021, $ABC9;
{$ENDC}
{$ENDC} { UsingIconUtilsPriv }
{$IFC NOT UsingIncludes}
END.
{$ENDC}