Aros/Developer/Scalos

Introduction
This is an incomplete guide, please support


 * scalos.library - This library is used as application interface for the Scalos Workbench replacement
 * scalosgfx.library - This documentation gives you information about scalosgfx.library
 * scalos API - This documentation gives you information on how to communicate with Scalos and its windowtasks
 * Scalos devicelist - This class is used to generate a list of all currently available devices
 * Scalos devicewindow - This class implements the main Workbench (= root) window, which shows the icons for the mounted devices and volumes
 * Scalos filetrans - This class is used to display a progress window showing the user what is currently going on while copying or moving files/directories
 * Scalos root - This class is used for some fundamental message and event handling
 * Scalos window - This class implements all common window functionality used for icon windows, text windows and device windows
 * Scalos iconwindow - This class implements the functionality for the common Workbench icon windows
 * Scalos textwindow - This class implements the text-only Scalos windows
 * Scalos title - This class implements the screen title and window title functionality
 * preferences.library - This library provides a convenient way to store the preferences for your program
 * iconobject.library - This library is an interface to the iconobject.datatype
 * iconobject.datatype - The iconobject.datatype has a special API to work with icons. makes both images, tooltypes and many more
 * Scalos title - This class implements the screen title and window title functionality
 * preferences.library - This library provides a convenient way to store the preferences for your program
 * iconobject.library - This library is an interface to the iconobject.datatype
 * iconobject.datatype - The iconobject.datatype has a special API to work with icons. makes both images, tooltypes and many more
 * iconobject.library - This library is an interface to the iconobject.datatype
 * iconobject.datatype - The iconobject.datatype has a special API to work with icons. makes both images, tooltypes and many more

AROS icon.library won't work on Scalos. Scalos uses its own iconobject.library and an iconobject datatype system enable the support for icon.library or other icons somewhere in the Scalos menu

Scalos
--background SCA_AddBob SCA_AllocMessage SCA_AllocNode SCA_AllocStdNode SCA_CountWBArgs SCA_DisposeScalosObject SCA_DrawDrag SCA_EndDrag SCA_FreeAllNodes SCA_FreeMessage SCA_FreeNode SCA_FreeScalosClass SCA_FreeWBArgs SCA_GetDefIconObject SCA_InitDrag SCA_LockDrag SCA_LockWindowList SCA_MakeScalosClass SCA_MakeWBArgs SCA_MoveNode SCA_NewAddAppIcon SCA_NewAddAppMenuItem SCA_NewAddAppWindow SCA_NewScalosObject SCA_OpenDrawerByName SCA_OpenIconWindow SCA_RemoveAppObject SCA_ScalosControlA SCA_ScreenTitleMsg SCA_SortNodes SCA_SwapNodes SCA_UnlockDrag SCA_UnLockWindowList SCA_UpdateIcon SCA_WBStart

NAME

--background

DESCRIPTION This library is used as application interface for the Scalos workbenchreplacement. It's only available if Scalos is running. This means if the library-open fails Scalos isn't running.

For information about NodeList see SCA_SortNodes and Node see SCA_AllocStdNode.

NAME

SCA_WBStart

SYNOPSIS

succ SCA_WBStart (ArgArray, Taglist, NumArgs ) A0        A1       D0

BOOL SCA_WBStart ( struct WBArg *ArgArray,        		const struct TagItem *Taglist, ULONG NumArgs );

BOOL SCA_WBStartTags( struct WBArg *ArgArray, ULONG NumArgs,        		ULONG FirstTag, ... );

FUNCTION The first argument is used as filename for the to started program. The Locks inside the ArgArray are automatically unlocked (use DupLock) and the strings are copied. The first element in ArgArray must contain the directory lock and name of the icon to start.

INPUTS ArgArray - Standard Workbench Args NumArgs - Number of Args in the ArgArray. This must be at least one. Taglist - Pointer to a taglist.

TAGS SCA_IconObject (Object *) - iconobject.library - IconObject to get information from it. No icon will be loaded.

SCA_Priority (LONG) - priority for the newly started process

SCA_Stacksize (ULONG) - stack size if no icon is available

SCA_WaitTimeout (ULONG) - wait timeout in seconds

SCA_Flags (ULONG) - Flags SCAF_WBStart_NoIcon - don't read an icon. SCAF_WBStart_Wait - wait until the program returns SCAF_WBStart_PathSearch - search through paths SCAF_WBStart_NoIconCheck - don't check icon type

RESULT succ - FALSE if the start fails. It only fails if not enough memory available or the WBL task couldn't be started. If the program couldn't be loaded it will return TRUE, because of it doesn't wait for the returncode of WBL task.

NOTE Locks will *NOT* be unlocked if this function fails!

SEE ALSO diskobject.library

NAME

SCA_SortNodes

SYNOPSIS

SCA_SortNodes (NodeList, CompareFunc, SortType) A0         A1          D0

void SCA_SortNodes ( struct ScalosNodeList *, struct Hook *,        		ULONG SortType);

FUNCTION Sorts a list of MinNodes and uses the CompareFunc to find differences between to nodes. NodeList is a pointer to a APTR which points to the first node. The first node has as mln_succ a NULL and the last node has as mln_pred a NULL. Only mln_succ, mln_pred and the address of the first will changed. Nothing will be reallocated or freed.

The CompareFunc will be called with a pointer to one node in A1 (Node0) and a pointer to second node in A2 (Node1). You have to return a           specific value in D0: 0 if Node0 = Node1 1 if Node0 < Node1 -1 if Node0 > Node1

INPUTS NodeList - Pointer to an APTR which is a pointer to the first node CompareFunc - Pointer to a Hook structure for the compare function SortType - SCA_SortType_Bubble : enhanced BubbleSort SCA_SortType_Selection : SelectionSort SCA_SortType_Insertion : InsertionSort SCA_SortType_Quick : QuickSort SCA_SortType_Best : The nodes will be counted and then the best SortType will be used. SEE ALSO SCA_AllocNode, SCA_AllocStdNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SwapNodes

NAME

SCA_NewAddAppIcon SCA_NewAddAppIconTags

SYNOPSIS

AppObject = SCA_NewAddAppIcon (ID, UserData, IconObject, MessagePort,        	   D0                          D0     D1         A0          A1         		Taglist) A2

struct AppObject *SCA_NewAddAppIcon( ULONG ID, ULONG UserData,        		struct IconObject *, struct MsgPort *,         		const struct TagItem *Taglist);

struct AppObject *SCA_NewAddAppIconTags( ULONG ID, ULONG UserData,        		struct IconObject *, struct MsgPort *,         		ULONG FirstTag, ...);

FUNCTION Adds an icon to the mainwindow of the Scalos-screen. See workbench.library/AddAppIconA for more information.

INPUTS ID, UserData - will be passed through the AppMessage IconObject - diskobject.library - IconObject, IDTM_Layout should not to be done. MessagePort - a MsgPort where you will receive the AppMessage Taglist - pointer to a taglist.

TAGS Currently no tags are defined. With wb39.plugin, however, most of the V44 workbench tags are supported.

RESULT AppObject - a private structure to be pass to SCA_RemoveAppObject or NULL after failure

SEE ALSO SCA_NewAddAppWindow, SCA_NewAddAppMenuItem, SCA_RemoveAppObject workbench.library/AddAppIconA

NAME

SCA_NewAddAppWindow SCA_NewAddAppWindowTags

SYNOPSIS

AppObject = SCA_NewAddAppWindow (ID, UserData, Window, MessagePort,        	   D0                            D0     D1       A0        A1        		Taglist) A2

struct AppObject *SCA_NewAddAppWindow( ULONG ID, ULONG UserData,        		struct Window *, struct MsgPort *,         		const struct TagItem *Taglist);

struct AppObject *SCA_NewAddAppWindowTags( ULONG ID, ULONG UserData,        		struct Window *, struct MsgPort *, ULONG FirstTag, ...);

FUNCTION Same as workbench.library/AddAppWindowA. See there for further information.

INPUTS ID, UserData - will be passed through the AppMessage Window - Intuition Window MessagePort - a MsgPort where you will receive the AppMessage Taglist - pointer to a taglist.

TAGS Currently no tags are defined.

RESULT AppObject - a private structure to be pass to SCA_RemoveAppObject or NULL on failure

SEE ALSO SCA_NewAddAppIcon, SCA_NewAddAppMenuItem, SCA_RemoveAppObject workbench.library/AddAppWindowA

NAME

SCA_NewAddAppMenuItem SCA_NewAddAppMenuItemTags

SYNOPSIS

AppObject = SCA_NewAddAppMenuItem (ID, UserData, Text, MessagePort,        	   D0                              D0     D1      A0       A1        		Taglist) A2

struct AppObject *SCA_NewAddAppMenuItem ( ULONG ID, ULONG UserData,        		CONST_STRPTR Text, struct MsgPort *,         		const struct TagItem *Taglist);

struct AppObject *SCA_NewAddAppMenuItemTags( ULONG ID,        		ULONG UserData, CONST_STRPTR Text, struct MsgPort *,         		ULONG FirstTag, ...);

FUNCTION Same as workbench.library/AddAppMenuItemA. See there for further information.

INPUTS ID, UserData - will be passed through the AppMessage Text - a pointer to the menutext. Starting with V40, any menu text consisting entirely of '-', '_' or '~' characters will result in a separator bar to be added. MessagePort - a MsgPort where you will receive the AppMessage Taglist - pointer to a taglist.

TAGS WBAPPMENUA_CommandKeyString (STRPTR) -- Command key to assign to           this AppMenu. This must be a NUL-terminated string. If the string is empty, it will be ignored. Also, if the command key is already in use by a different menu item it will be ignored, too. In any case, only the first character of the string will be used (V40).

This tag defaults to NULL.

WBAPPMENUA_GetKey (ULONG *) -- To add menus with sub menu items, you need to add a menu item first which the sub items will be added to later. In order to do this, add the item the sub items should be attached to and use the WBAPPMENUA_GetKey tag to           obtain a key value. This key value is to be used later with the WBAPPMENUA_UseKey tag (V40.20).

This feature was introduced in Scalos 40.20, it           does not work in any of the older Scalos releases.

This tag defaults to NULL.

WBAPPMENUA_GetTitleKey (ULONG *) -- To add new entries to the Scalos menu strip you first need to create a new title to which the new menu items can be attached later. To do this, first create a new menu entry and use the WBAPPMENUA_GetTitleKey tag to obtain a key value. This key value is to be used later with the WBAPPMENUA_UseKey tag (V40.20).

This tag defaults to NULL.

WBAPPMENUA_UseKey (ULONG) -- When adding a menu item with the WBAPPMENUA_UseKey tag, using a key value obtained by a previous invocation of AddAppMenuItemA, the new menu item will be           added as a sub item (V40.20).

If the key you provide was obtained via the WBAPPMENUA_GetTitleKey tag, then the item you add will be attached to the respective menu entry (V40.20).

This tag defaults to NULL.

RESULT AppObject - a private structure to be pass to SCA_RemoveAppObject or           NULL on failure

Starting with V40, NULL will be returned if you attempt to           add an AppMenu item to a menu which already contains 63 menu items. Only a maximum of 15 sub items can be added to a menu item.

SEE ALSO SCA_NewAddAppIcon, SCA_NewAddAppWindow, SCA_RemoveAppObject workbench.library/AddAppMenuItemA

NAME

SCA_RemoveAppObject

SYNOPSIS

succ = SCA_RemoveAppObject (AppObject) D0                       A0

BOOL SCA_RemoveAppObject (struct AppObject *);

FUNCTION Removes an AppObject from Scalos. This could be an Icon, a Window or           a MenuItem.

INPUTS AppObject - result from SCA_NewAddAppIcon, SCA_NewAddAppWindow or SCA_NewAddAppMenuItem

RESULT succ - currently it always returns TRUE

SEE ALSO SCA_NewAddAppIcon, SCA_NewAddAppWindow, SCA_NewAddAppMenuItem

NAME

SCA_AllocStdNode

SYNOPSIS

Node = SCA_AllocStdNode (NodeList, NodeType) D0                       A0        D0

struct MinNode *SCA_AllocStdNode (struct ScalosNodeList *,        		ULONG NodeType);

FUNCTION Allocates a standard Scalos-node. It's the only compatible why to           allocate one of the standard nodes. NEVER allocate a node yourself and pass it to Scalos! The scalos.library will use a memorypool for all nodes to decrease the memoryfragmentation. The new node will be the last in your NodeList and it is cleared public memory. Don't change mln_succ and mln_pred yourself, use the node function instead. See SCA_SortNodes for information about the NodeList.

INPUTS NodeList - Pointer to an APTR which is a pointer to the first node NodeType - see scalos.(h|i)

RESULT Node - Node at the end or the NodeList or NULL on failure.

NOTE Node *MUST* be freed with SCA_FreeNode or SCA_FreeAllNodes This function preserves all registers except D0.

SEE ALSO SCA_AllocNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SortNodes, SCA_SwapNodes

NAME

SCA_AllocNode

SYNOPSIS

Node = SCA_AllocNode (NodeList, Size) D0                     A0      D0

struct MinNode *SCA_AllocNode (struct ScalosNodeList *, ULONG Size);

FUNCTION Allocates a node and inserts it at the end of the NodeList. Use this function only for your own node-handling. Never allocate a standard Scalos-node, use SCA_AllocStdNode instead. Size is the number of           bytes that allocated after the the MinNode. This means the memsize of node is size+MLN_SIZE. See SCA_AllocStdNode for further information.

INPUTS NodeList - Pointer to an APTR which is a pointer to the first node Size - bytes after MLN_SIZE

RESULT Node - Node at the end or the NodeList or NULL on failure.

NOTE Node *MUST* be freed with SCA_FreeNode or SCA_FreeAllNodes ! This function preserves all registers except D0.

SEE ALSO SCA_AllocStdNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SortNodes, SCA_SwapNodes

NAME

SCA_FreeNode

SYNOPSIS

SCA_FreeNode (NodeList, Node) A0     A1

void SCA_FreeNode (struct ScalosNodeList *, struct MinNode *);

FUNCTION Removes the Node out of the NodeList and Frees a node allocated with SCA_AllocStdNode or SCA_AllocNode.

INPUTS NodeList - pointer to an APTR which is a pointer to the first node Node - node to remove and free

NOTE Node *MUST* be part of NodeList! This function preserves all registers.

SEE ALSO SCA_AllocStdNode, SCA_AllocNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SortNodes, SCA_SwapNodes

NAME

SCA_FreeAllNodes

SYNOPSIS

SCA_FreeAllNodes (NodeList) A0

void SCA_FreeAllNodes (struct ScalosNodeList *);

FUNCTION Will free the whole list of nodes.

INPUTS NodeList - pointer to an APTR which is a pointer to the first node

NOTE This function preserves all registers.

SEE ALSO SCA_AllocStdNode, SCA_AllocNode, SCA_FreeNode, SCA_MoveNode, SCA_SortNodes, SCA_SwapNodes

NAME

SCA_MoveNode

SYNOPSIS

SCA_MoveNode (SrcNodeList, DestNodeList, Node) A0           A1        D0

void SCA_MoveNode (struct ScalosNodeList *, struct ScalosNodeList *,        		struct MinNode *);

FUNCTION Will remove the Node from SrcNodeList and will insert the Node at           the end of DestNodeList.

INPUTS SrcNodeList - pointer to an APTR which is a pointer to the first node DestNodeList - pointer to an APTR which is a pointer to the first node Node - MinNode

NOTE This function preserves all registers. WARNING: Node *MUST* be member of SrcNodeList or very nasty things will happen !!

SEE ALSO SCA_AllocStdNode, SCA_AllocNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_SortNodes, SCA_SwapNodes

NAME

SCA_SwapNodes

SYNOPSIS

SCA_SwapNodes ( SrcNode, DestNode, NodeList) A0       A1        A2

void SCA_SwapNodes (struct MinNode *, struct MinNode *,        		struct ScalosNodeList *);

FUNCTION Swaps the positions of SrcNode and DestNode inside the NodeList.

INPUTS SrcNode - MinNode DestNode - MinNode NodeList - pointer to an APTR which is a pointer to the first node

NOTE SrcNode and DestNode *MUST* be part of NodeList!

SEE ALSO SCA_AllocStdNode, SCA_AllocNode, SCA_FreeNode, SCA_FreeAllNodes, SCA_MoveNode, SCA_SortNodes

NAME

SCA_OpenIconWindow SCA_OpenIconWindowTags

SYNOPSIS

succ SCA_OpenIconWindow ( TagList ) D0                        A0

BOOL SCA_OpenIconWindow ( const struct TagItem *TagList );

BOOL SCA_OpenIconWindowTags(ULONG, ...);

FUNCTION opens a windowtask filled with icons. All information will be given as tags, see below.

INPUTS TagList - pointer to a taglist.

TAGS SCA_IconNode (struct ScaIconNode *) - fullfilled ScaIconNode

SCA_IconObject (Object *) - iconobject.library - iconobject

SCA_Path (CONST_STRPTR) - the path to open

SCA_MessagePort (struct MsgPort *) - Message port for reply to startup message of new icon window process, or NULL.

SCA_WindowTitle (CONST_STRPTR) - windowtitle parsestring ( take a look at the prefsprogram for info)

SCA_WindowRect (struct IBox *) - rectangle with window dimensions (see diskobject.library).

SCA_XOffset,SCA_YOffset (LONG) - virtual position

SCA_PatternNumber (ULONG) - background pattern number which is           configured in "Scalos Pattern" prefs

SCA_ShowAllFiles (ULONG) - TRUE or FALSE deprecated, use SCA_ShowAllMode instead!

SCA_ShowAllMode (ULONG) - DDFLAGS_SHOWDEFAULT, DDFLAGS_SHOWICONS, or DDFLAGS_SHOWALL.

SCA_ViewModes (ULONG) - view modes for the window SCAV_ViewModes_Icon SCAV_ViewModes_Name SCAV_ViewModes_Size SCAV_ViewModes_Date SCAV_ViewModes_Time SCAV_ViewModes_Comment SCAV_ViewModes_Protection SCAV_ViewModes_Owner SCAV_ViewModes_Group

SCA_Flags (ULONG) - none available yet

SCA_Iconify (ULONG) - TRUE or FALSE for open iconified

SCA_NoActivateWindow (ULONG) - TRUE or FALSE. The new window will not be activated if this tag is set to TRUE. Defaults to FALSE.

SCA_WindowStruct (struct ScaWindowStruct **) - The pointer to the ScaWindowStruct of the new generated Scalos window will be           returned. If the new Scalos window couldn't be opened, NULL is returned.

SCA_BrowserMode (ULONG) - TRUE or FALSE. The window will be           opened in browser mode if set to TRUE.

SCA_NoStatusBar (ULONG) - TRUE or FALSE. The status bar will not be present in the new window if set to TRUE, overriding the global setting for status bar.

SCA_CheckOverlappingIcons (ULONG) - TRUE or FALSE. Defines whether icon windows check for overlapping icons. If enabled, an icon overlapping any other is repositioned on directory scan. Default value is TRUE for MorphOS, FALSE for all other platforms.

SCA_TransparencyActive (ULONG) - degree of opacity in active window state, 0=transparent, 100=opaque. Semi-transparent windows are not supported on all platforms.

SCA_TransparencyInactive (ULONG) - degree of opacity in inactive window state, 0=transparent, 100=opaque Semi-transparent windows are not supported on all platforms.

RESULT succ - Success

NOTE One of SCA_IconNode, SCA_IconObject or SCA_Path must be given!

SEE ALSO

NAME

SCA_LockDrag

SYNOPSIS

SCA_LockDrag ( draghandle ) D0

void SCA_LockDrag ( APTR draghandle );

FUNCTION Locks the screen layer info that is connected to the draghandle. Main purpose is to temporarily unlock and lock again the screen layers during a dragging operiation, in order to allow some drawing to happen.

INPUTS draghandle - That drag handle that is to be locked.

SEE ALSO SCA_UnLockDrag, SCA_InitDrag, SCA_EndDrag, SCA_DrawDrag

NAME

SCA_LockWindowList

SYNOPSIS

Windowlist SCA_LockWindowList ( accessmode ) D0                               D0

struct ScaWindowList *SCA_LockWindowList ( LONG accessmode );

FUNCTION Locks the windowlist and returns. This function is a main interface of           the Scalos-API. The messageport should be used to comunicate with a           windowtask. No window can be closed while the windowlist is locked. For more information take a look at the ScalosAPI documentation.

INPUTS accessmode - SCA_LockWindowList_Shared - locks the window list for a read- only access. Shared access is sufficient if           you just want to traverse the window list, and make sure nobody modifies the list inbetween. SCA_LockWindowList_Exclusiv - locks the window list exclusively for read-write access. Exclusive mode is required if windows are to be created or removed. SCA_LockWindowList_AttemptShared - tries to acquire a shared lock on the window list for read-only access. NULL is returned if the list cannot be locked, e.g. because someone else holds an exclusive lock on the list. SCA_LockWindowList_AttemptExclusive - try to acquire an           exclusive lock on the window list. NULL is returned if the list cannot be locked, e.g. because someone else holds a lock on           the list.

RESULT windowlist - a struct ScaWindowList * - With the SCA_LockWindowList_Attempt*** values, it is           possible that NULL is returned if the window list cannot be locked.

NOTE Normally you should not use the SCA_LockWindowList_Exclusiv. If you lock the windowlist exclusiv you should NEVER use intuition calls!

SEE ALSO SCA_UnLockWindowList

NAME

SCA_UnLockWindowList

SYNOPSIS

SCA_UnLockWindowList

void SCA_UnLockWindowList ( void );

FUNCTION Unlocks a with SCA_LockWindowList locked windowlist.

SEE ALSO SCA_LockWindowList

NAME

SCA_AllocMessage

SYNOPSIS

ScalosMessage SCA_AllocMessage( messagetype, additional_size) D0                              D0            D1

struct ScalosMessage *SCA_AllocMessage ( ULONG messagetype,        		UWORD additional_size );

FUNCTION Allocates a message which could be sent to Scalos. It's the only future-compatible way to do this. The scalos message signature and the the message type will be set and the returned memory is cleared.

INPUTS messagetype - see ScalosAPI.doc additional_size - number of bytes that will be added to the size of           the message. Normally this should be 0.

RESULT ScalosMessage - a full-filled ScalosMessage of the selected type or NULL

NOTE Never try to free a message yourself, it will cause a memory trashing! Scalos uses fast memorypool functions for its messages.

SEE ALSO SCA_FreeMessage

NAME

SCA_FreeMessage

SYNOPSIS

SCA_FreeMessage( message ) A1

void SCA_FreeMessage ( struct ScalosMessage *);

FUNCTION Frees a with SCA_AllocMessage allocated message.

INPUTS message - struct ScalosMessage (returned from SCA_AllocMessage)

SEE ALSO SCA_AllocMessage

NAME

SCA_InitDrag

SYNOPSIS

DragHandle SCA_InitDrag( Screen ) D0                    A0

struct DragHandle *SCA_InitDrag ( struct Screen *);

FUNCTION Inits special bobroutines. This routines are easy to use and support 24bit bobs.

INPUTS Screen - the screen to use for the bobs or NULL for the default Scalos screen

RESULT DragHandle - a private structure to pass it to the other Drag functions or NULL on failure.

SEE ALSO SCA_DrawDrag, SCA_EndDrag, SCA_LockDrag, SCA_UnlockDrag

NAME

SCA_EndDrag

SYNOPSIS

SCA_EndDrag( DragHandle ) A0

void SCA_EndDrag ( struct DragHandle *);

FUNCTION Removes all bobs from screen and frees it, if nessesary it unlocks the layers.

INPUTS DragHandle - result from SCA_InitDrag

SEE ALSO SCA_DrawDrag, SCA_InitDrag, SCA_LockDrag, SCA_UnlockDrag

NAME

SCA_AddBob

SYNOPSIS

succ SCA_AddBob( DragHandle, Bitmap, Mask, Width, Height,        	 D0                  A0        A1     A2     D0     D1        		XOffset, YOffset ) D2      D3

BOOL SCA_AddBob ( struct DragHandle *, struct BitMap *, APTR Mask,        		ULONG Width, ULONG Height, LONG XOffset, LONG YOffset );

FUNCTION Addes a bitmap to the Boblist. Bitmap and Mask will be copied, it can be freed after calling this function. Mask is a planar bitplane the width divided by 8 and height. It must be in Chipram. X and Y offsets are the offset from movepoint give in SCA_DrawDrag. Normaly it's           the relative position to the mouse pointer.

INPUTS DragHandle - result from SCA_InitDrag Bitmap - a standard bitmap structure, any depth allowed Mask - width/8 * height mask for the bitmap Width - width in pixels Height - height in pixels XOffset - relative x-position to the move point YOffset - relative y-position to the move point

RESULT succ - TRUE if anything went well, FALSE if some problem occured

SEE ALSO

NAME

SCA_DrawDrag

SYNOPSIS

SCA_DrawDrag( DragHandle, X, Y, Flags ) A0     D0 D1   D2

void SCA_DrawDrag ( struct DragHandle *, LONG X, LONG Y, ULONG Flags );

FUNCTION Blits the bobs to the selected screen relative to the given position.

INPUTS DragHandle - result from SCA_InitDrag X - movepoint x direction Y - movepoint y direction Flags - SCAF_Drag_Transparent - draw all bobs transparent, normally it's a raster ("ghosted") SCAF_Drag_IndicateCopy - draw all bobs plus "copy" indicator SCAF_Drag_NoDropHere - draw all bobs plus "no drop" indicator SCAF_Drag_Hide - hide bobs SCAF_Drag_IndicateMakeLink - draw all bobs plus "make link" indicator SCAF_Drag_NoDrawDrag - (internal use only)

NOTE Transparent drawing only works with CyberGfx installed and a           workbench screen of more than 256 colors (depth > 8).

SEE ALSO SCA_InitDrag, SCA_EndDrag, SCA_LockDrag, SCA_UnlockDrag

NAME

SCA_UpdateIcon

SYNOPSIS

SCA_UpdateIcon( WindowType, SCA_UpdateIcon, UpdateIcon_Size ) D0          A0             D1

void SCA_UpdateIcon ( UBYTE WindowType, struct ScaUpdateIcon_IW *,       		 ULONG ui_SIZE );

FUNCTION Refreshes an icon specified in SCA_UpdateIcon structure. The icon will be loaded, removed or reloaded. The SCA_UpdateIcon struct depends on the windowtype.

INPUTS WindowType - windowtype which should be updated SCA_UpdateIcon - special information, depents on WindowType UpdateIcon_Size - size of the SCA_UpdateIcon structure in bytes

SEE ALSO

NAME

SCA_MakeWBArgs

SYNOPSIS

number = SCA_MakeWBArgs( Buffer, Iconnode, ArgsSize ) A0      A1        D0

ULONG SCA_MakeWBArgs ( struct WBArg *Buffer,        		struct ScaIconNode *Iconnode, ULONG ArgsSize);

FUNCTION Generates a WBArgs Array from all selected icons except the given Iconode. It is recommended to determine the required buffer size with SCA_CountWBArgs.

INPUTS Buffer - Array of WBArg structures to save the Lock and Name pointers Iconnode - an iconnode to exclude or NULL ArgsSize - Number of WBArg's the buffer has room for

RESULT number - number of args generated

SEE ALSO SCA_FreeWBArgs SCA_CountWBArgs

NAME

SCA_FreeWBArgs

SYNOPSIS

number = SCA_FreeWBArgs( Buffer, Number, Flags ) A0     D0     D1

void SCA_FreeWBArgs ( struct WBArg *Buffer, ULONG Number,        		ULONG Flags);

FUNCTION Frees a WBArg array generated with SCA_MakeWBArgs.

INPUTS Buffer - Array with WBArg structures Number - Number of WBArg's to free Flags - SCAB_FreeLocks - free the Locks SCAB_FreeName - free the namefields

SEE ALSO SCA_MakeWBArgs; SCA_CountWBArgs;

NAME

SCA_CountWBArgs

SYNOPSIS

number = SCA_CountWBArgs( Iconnode ) A0

ULONG SCA_CountWBArgs( struct ScaIconNode *Iconnode );

FUNCTION Determines required size for WBArgs Array from all selected icons except the given Iconode. The returned count can be used to allocate a WBArg array for SCA_MakeWBArgs.

INPUTS Iconnode - an iconnode to exclude or NULL

RESULT number - number of args that will be generated by SCA_MakeWBArgs.

SEE ALSO SCA_FreeWBArgs SCA_MakeWBArgs

NAME

SCA_ScreenTitleMsg

SYNOPSIS

SCA_ScreenTitleMsg( Format, Args ) A0    A1

void SCA_ScreenTitleMsg ( CONST_STRPTR Format, APTR Args);

void SCA_ScreenTitleMsgArgs( CONST_STRPTR Format, ...);

FUNCTION Show a message on ScreenTitle of all Scalos windows.

INPUTS Format - FormatString. All RawDoFmt args are allowed. special values : NULL to recover the standard title. ~0 to recover the last non-standard title (message). Args - the arguments for the formatstring

SEE ALSO exec.library/RawDoFmt

NAME

SCA_MakeScalosClass

SYNOPSIS

ScalosClass ( ClassName, SuperClassName, InstSize, DispFunc ) D0          A0            A1          D0        A2

struct ScalosClass *SCA_MakeScalosClass ( CONST_STRPTR ClassName,        		CONST_STRPTR SuperClassName, UWORD InstSize, APTR DispFunc);

FUNCTION Addes a new BOOPSI Class to the internal classlist. ClassName may be           a new name or a classname that's already available. In this case the class will replace or enhance a known class.

INPUTS ClassName - name of the new class or NULL for a private class SuperClassName - name of the super class for the new class InstSize - size of the instance variables DispFunc - pointer to your Dispatcher function

RESULT ScalosClass - a ScalosClass structure or NULL if it fails

NOTE If you like a add a subclass to your private class then use the intuition class functions.

SEE ALSO SCA_FreeScalosClass, intuition.library/MakeClass

NAME

SCA_FreeScalosClass

SYNOPSIS

scc SCA_FreeScalosClass( ScalosClass ) D0                         A0

BOOL SCA_FreeScalosClass ( struct ScalosClass *);

FUNCTION Removes a ScalosClass from the internal classlist.

INPUTS ScalosClass - return value from SCA_MakeScalosClass

RESULT succ - FALSE if the class couldn't be removed, else TRUE

SEE ALSO SCA_MakeScalosClass, FreeClass

NAME

SCA_NewScalosObject SCA_NewScalosObjectTags

SYNOPSIS

Object SCA_NewScalosObject( ClassName, TagList ) D0                           A0       A1

Object *SCA_NewScalosObject ( CONST_STRPTR ClassName,        		const struct TagItem *TagList);

Object *SCA_NewScalosObjectTags( CONST_STRPTR ClassName,        		ULONG FirstTag, ...);

FUNCTION Allocates and inits a new BOOPSI Object.

INPUTS ClassName - Scalos Classname TagList - taglist (depends on the class)

RESULT Object - new BOOPSI Object or NULL

SEE ALSO SCA_DisposeScalosObject, NewObject

NAME

SCA_DisposeScalosObject

SYNOPSIS

SCA_DisposeScalosObject( Object ) A0

void SCA_DisposeScalosObject (Object *);

FUNCTION Disposes a object created with SCA_NewScalosObject.

INPUTS Object - BOOPSI Object

SEE ALSO SCA_NewScalosObject, DisposeObject

NAME

SCA_ScalosControlA -- Query or modify Scalos options (V40) SCA_ScalosControl

SYNOPSIS

ULONG SCA_ScalosControlA( Name, TagList ) D0                       A0     A1

ULONG SCA_ScalosControlA( CONST_STRPTR Name,        		const struct TagItem *TagList);

ULONG SCA_ScalosControl( CONST_STRPTR Name, ULONG FirstTag, ...);

FUNCTION With this function you can query or modify global Scalos parameters.

INPUTS name -- Name of an object to query or modify.

tags -- Additional options.

TAGS SCALOSCTRLA_GetDefaultStackSize (ULONG *) -- Get the default stack size used by Scalos when launching Shell programs or programs without a valid stack size number.

The default stack size is 8192 bytes.

SCALOSCTRLA_SetDefaultStackSize (ULONG) -- Set the default stack size used by Scalos when launching Shell programs or programs without a valid stack size number. You cannot set a stack size number smaller than 8192 bytes.

SCALOSCTRLA_GetProgramList (struct List **) -- You can obtain a list of currently running Workbench programs; every entry of this list will have the complete path to the program and the program name in its Node->ln_Name. When you no longer need the list, don't forget to free it again using the tag WBCTRLA_FreeProgramList.

SCALOSCTRLA_FreeProgramList (struct List *) -- With this tag you can free the list allocated by the SCALOSCTRLA_GetProgramList tag.

SCALOSCTRLA_GetCloseWBDisabled (ULONG *) -- Get the current disable state for the intuition.library/CloseWorkBench function. If TRUE, intuition.library/CloseWorkBench always returns FALSE and Scalos will never close.

SCALOSCTRLA_SetCloseWBDisabled (ULONG) -- Set the disable state for the intuition.library/CloseWorkBench function. If TRUE, intuition.library/CloseWorkBench always returns FALSE and Scalos will never close.

SCALOSCTRLA_GetSplashEnable (ULONG *) -- Get the current disable state for the Scalos startup splash window. If TRUE, Scalos shows its splash window on startup.

SCALOSCTRLA_SetSplashEnable (ULONG) -- Set the disable state for the Scalos startup splash window. If TRUE, Scalos shows its splash window on startup.

SCALOSCTRLA_GetToolTipEnable (ULONG *) -- Get the current enable state for icon tool tips. If TRUE, icon tool tips will show up           if the mouse pointer kept over an icon for some seconds.

SCALOSCTRLA_SetToolTipEnable (ULONG) -- Set the enabled state for icon tool tips. If TRUE, icon tool tips will show up           if the mouse pointer kept over an icon for some seconds.

SCALOSCTRLA_GetToolTipDelay (ULONG *) -- Set the delay time until the icon tool tips pop up (in seconds).

SCALOSCTRLA_SetToolTipDelay (ULONG) -- Set the delay time until the icon tool tips pop up (in seconds). You must specify a           number between 1 and 599 seconds. Default delay time is 2 seconds.

SCALOSCTRLA_GetOldDragIconMode (ULONG *) -- Enable old (workbench-           like) icon dragging mode, i.e. all icons are visibly dragged. If turned OFF (=0), the new "icon stack" method is used. Default value is OFF (0).

SCALOSCTRLA_SetOldDragIconMode (ULONG) -- Get the current icon dragging mode. 0 New "icon stack" icon dragging method is used. 1 Old (workbench-like) icon dragging mode, i.e. all icons are visibly dragged

SCALOSCTRLA_GetTypeRestartTime (ULONG *) -- Get the number of seconds that have to pass before typing the next character in a drawer window will restart with a new file name.

SCALOSCTRLA_SetTypeRestartTime (ULONG) -- Set the number of seconds that have to pass before typing the next character in a drawer window will restart with a new file name. You must specify a           number greater than 0. Default type restart time is 3 seconds.

SCALOSCTRLA_GetEmulationMode (ULONG *) -- get a BOOL variable telling whether which mode Scalos is running in. TRUE emulation mode FALSE preview mode

SCALOSCTRLA_GetStatusBarEnable (ULONG *) -- get a BOOL variable telling whether Scalos displays a status bar in every non-backdrop window.

SCALOSCTRLA_SetStatusBarEnable (ULONG) -- Telling whether Scalos to           display a status bar in every non-backdrop window (any non-zero            value) or to display no status bars. Changes only apply to           windows opened thereafter. TRUE show status bar FALSE don't show status bar NOTE: Changes only apply to windows opened thereafter.

SCALOSCTRLA_GetStripedTextWindows (ULONG *) -- get a BOOL variable telling whether Scalos displays horizontally striped lines in           text windows.

SCALOSCTRLA_SetStripedTextWindows (ULONG) -- Tell whether Scalos to           display horizontally striped lines in text windows. TRUE show stripes in text window FALSE show standard background. NOTE: Changes only apply to windows opened thereafter.

SCALOSCTRLA_GetDisplayDragCount (ULONG *) -- get a BOOL variable telling whether Scalos shows the number of dragged objects during Drag and Drop.

SCALOSCTRLA_SetDisplayDragCount (ULONG) -- Tell whether Scalos to           display the number of dragged objects during Drag and Drop. TRUE show number of objects while dragging FALSE don't show number of objects

SCALOSCTRLA_GetWindowDropMarkMode (ULONG *) - get a ULONG variable telling when Scalos shows window drop marks during D&D IDTV_WinDropMark_Never - never IDTV_WinDropMark_WindowedOnly - only on non-backdrop windows IDTV_WinDropMark_Always - always

SCALOSCTRLA_SetWindowDropMarkMode (ULONG) - Set when Scalos will show window drop marks during D&D IDTV_WinDropMark_Never - never IDTV_WinDropMark_WindowedOnly - only on non-backdrop windows IDTV_WinDropMark_Always - always

SCALOSCTRLA_GetCopyHook (struct Hook **) - Obtain the current hook that will be invoked when Scalos starts copying files and data (V40).

SCALOSCTRLA_SetCopyHook (struct Hook *) - Install a new hook that will be invoked when Scalos starts copying files and data (V40). The hook will be invoked exactly the same way as Workbench does with its WBCTRLA_SetCopyHook hook.

SCALOSCTRLA_GetDeleteHook (struct Hook **) - Obtain the current hook that will be invoked when Scalos deletes files and drawers or           empties the trashcan (V40).

SCALOSCTRLA_SetDeleteHook (struct Hook *) - Install a new hook that will be invoked when Scalos deletes files and drawers or empties the trashcan (V40). The hook will be invoked exactly the same way as Workbench does with its WBCTRLA_SetDeleteHook hook. NOTE: this hook will take precedence over the installed "Delete.module".

SCALOSCTRLA_GetTextInputHook (struct Hook **) - Obtain the current hook that will be invoked when Scalos requests the user to enter text, i.e. when a file is to be renamed or a new drawer is to           be created (V40).

SCALOSCTRLA_SetTextInputHook (struct Hook *) - Install a new hook that will be invoked when Scalos requests the user to enter text, i.e. when a file is to be renamed or a new drawer is to           be created (V40). The hook will be invoked exactly the same way as Workbench does with its WBCTRLA_SetTextInputHook hook. NOTE: this hook will take precedence over the installed "NewDrawer.module", "Execute.module" and "Rename.module".

SCALOSCTRLA_AddCloseWBHook (struct Hook *) - Add a hook that will be invoked when Scalos is about to close (cleanup), and when Scalos has opened again (setup) (V40). The hook will be invoked exactly the same way as Workbench does with its WBCTRLA_AddSetupCleanupHook hook.

SCALOSCTRLA_RemCloseWBHook (struct Hook *) - Remove a hook that has been installed with the SCALOSCTRLA_AddCloseWBHook tag (V40).

SCALOSCTRLA_GetSupportedIconTypes (ULONG *) - Get bit mask of all currently enabled icon types IDTV_IconType_NewIcon - display NewIcons IDTV_IconType_ColorIcon - display OS3.5 color icons

SCALOSCTRLA_SetSupportedIconTypes (ULONG) - Select which icon types are enabled : IDTV_IconType_NewIcon - display NewIcons IDTV_IconType_ColorIcon - display OS3.5 color icons

SCALOSCTRLA_GetMenuCommandList (struct List **) -- You can obtain a list of all supported menu command names. When you no longer need the list, don't forget to free it again using the tag WBCTRLA_FreeMenuCommandList.

SCALOSCTRLA_FreeMenuCommandList (struct List *) -- With this tag you can free the list allocated by the SCALOSCTRLA_GetMenuCommandList tag.

SCALOSCTRLA_GetCopyBuffSize (ULONG *) -- Query the size of the buffer used for moving and copying files.

SCALOSCTRLA_SetCopyBuffSize (ULONG) -- Set the size of the buffer used for moving and copying files. The size can be changed between 4 KBytes and 4 MBytes (40.30).

RESULT Returns the number of tags successfully processed. If the returned value is less than the number of tags supplied, you can query the error code using dos.library/IoErr.

NOTES This function may only be called by a Process.

SEE ALSO dos.library/IoErr 

NAME

SCA_GetDefIconObject SCA_GetDefIconObjectA SCA_GetDefIconObjectTags

SYNOPSIS

IconObject SCA_GetDefIconObject( dirLock, name ) D0                             A0       A1        	IconObject SCA_GetDefIconObjectA( dirLock, name, tagList ) D0                              A0       A1    A2

Object *SCA_GetDefIconObject(BPTR dirLock, CONST_STRPTR name) Object *SCA_GetDefIconObjectA(BPTR dirLock,       		CONST_STRPTR name, struct TagItem *tagList) Object *SCA_GetDefIconObjectTags(BPTR dirLock, CONST_STRPTR name, ...)

FUNCTION Returns default IconObject for the file system object (tool/project/drawer/device) described by dirLock and name. A filetype-specific default icon is selected according to the object type.

INPUTS dirlock - Lock on the parent directory of the object. name - Name of the object. tagList - additional tags for creation of IconObject. RESULT IconObject - new IconObject or NULL

NAME

SCA_OpenDrawerByName SCA_OpenDrawerByNameTags

SYNOPSIS

ScaWindow = SCA_OpenDrawerByName( path, tagList ) D0                            A0    A1

struct ScaWindowStruct *SCA_OpenDrawerByName(CONST_STRPTR path,       		struct TagItem *tagList);

struct ScaWindowStruct *SCA_OpenDrawerByNameTags(CONST_STRPTR path,       		ULONG firstTag, ...);

FUNCTION Tries to open the named drawer.

INPUTS path - Full path name of the drawer to be opened. TagList - taglist

RESULT ScaWindow - ScaWindowStruct of the newly opened drawer window or NULL.

SEE ALSO SCA_OpenIconWindow

NAME

SCA_UnlockDrag

SYNOPSIS

wasLocked = SCA_UnlockDrag ( draghandle ) D0

ULONG SCA_LockDrag ( APTR draghandle );

FUNCTION Unlocks the screen layer info that is connected to the draghandle. Main purpose is to temporarily unlock and lock again the screen layers during a dragging operiation, in order to allow some drawing to happen.

INPUTS draghandle - That drag handle that is to be locked.

RESULT wasLocked - Flag that indicated whether the screen layer was locked before calling. The result can be used to decide if you need to           call SCA_LockDrag when you are finished drawing.

SEE ALSO SCA_LockDrag, SCA_InitDrag, SCA_EndDrag, SCA_DrawDrag

Scalos GFX
ScalosGfxCreateEmptySAC ScalosGfxCreateSAC ScalosGfxFreeSAC ScalosGfxCreateARGB ScalosGfxFreeARGB ScalosGfxARGBSetAlpha ScalosGfxARGBSetAlphaMask ScalosGfxCreateARGBFromBitMap ScalosGfxFillARGBFromBitMap ScalosGfxWriteARGBToBitMap ScalosGfxMedianCut ScalosGfxScaleARGBArray ScalosGfxScaleBitMap ScalosGfxCalculateScaleAspect ScalosGfxBlitARGB ScalosGfxFillRectARGB ScalosGfxSetARGB ScalosGfxNewColorMap ScalosGfxARGBRectMult ScalosGfxBlitARGBAlpha ScalosGfxBlitARGBAlphaTagList ScalosGfxBlitIcon

NAME

ScalosGfxCreateEmptySAC -- Allocate an empty ScalosBitMapAndColor

SYNOPSIS

sac = ScalosGfxCreateEmptySAC D0

struct ScalosBitMapAndColor *ScalosGfxCreateEmptySAC( void );

FUNCTION Allocates an empty ScalosBitMapAndColor structure, with NULL sca_BitMap and sac_ColorTable.

INPUTS none

RESULT sac - new created ScalosBitMapAndColor, or NULL on failure

SEE ALSO ScalosGfxFreeSAC, ScalosGfxCreateSAC

NAME

ScalosGfxCreateSAC -- Allocate ScalosBitMapAndColor

SYNOPSIS

sac = ScalosGfxCreateSAC(width, height, depth, friendBM, tagList); D0                      D0     D1      D2     A0        A1

struct ScalosBitMapAndColor *ScalosGfxCreateSAC(ULONG, ULONG, ULONG,       		struct BitMap *, struct TagItem *)

struct ScalosBitMapAndColor *ScalosGfxCreateSACTags(ULONG, ULONG, ULONG,       		struct BitMap *, ULONG, ...)

FUNCTION Allocate a ScalosBitMapAndColor structure. sac_BitMap and sac_ColorTable are allocated according to specified dimensions.

INPUTS width - Desired width of new ScalosBitMapAndColor BitMap. height - Desired height of new ScalosBitMapAndColor BitMap. depth - Desired depth of new ScalosBitMapAndColor BitMap. Must be less than 256. sac_ColorTable will be allocated to hold 2^depth entries. friendBM - Friend BitMap to use for BitMap allocation. tagList - pointer to list of Tags, or NULL.

TAGS None defined yet.

RESULT sac - new created ScalosBitMapAndColor, or NULL on failure

SEE ALSO ScalosGfxFreeSAC, ScalosGfxCreateEmptySAC

NAME

ScalosGfxFreeSAC -- free a previously allocated ScalosBitMapAndColor

SYNOPSIS

ScalosGfxFreeSAC(sac); A0

void ScalosGfxFreeSAC((struct ScalosBitMapAndColor *);

FUNCTION Frees and deallocates a previously allocated ScalosBitMapAndColor, including sac_BitMap and sac_ColorTable.

INPUTS sac - previously allocated ScalosBitMapAndColor, or NULL

RESULT nothing

SEE ALSO ScalosGfxCreateSAC, ScalosGfxCreateEmptySAC

NAME

ScalosGfxCreateARGB -- Allocate a gfxARGB with specified size

SYNOPSIS

argb = ScalosGfxCreateARGB(width, height, tagList) D0                        D0     D1      A0

struct gfxARGB *ScalosGfxCreateARGB(ULONG, ULONG, struct TagItem *)

FUNCTION Allocates an array of struct gfxARGB with sufficient size for specified width and height.

INPUTS width - width of gfxARGB array height - height of gfxARGB array tagList - pointer to list of Tags, or NULL.

TAGS None defined yet.

RESULT argb - new allocated gfxARGB, or NULL on failure.

SEE ALSO

NAME

ScalosGfxFreeARGB -- Free a previously allocated gfxARGB

SYNOPSIS

ScalosGfxFreeARGB(argb) D0               A0

VOID ScalosGfxFreeARGB(struct gfxARGB **)

FUNCTION

INPUTS argb - pointer to storage of previously allocated gfxARGB. argb may point to NULL.

RESULT nothing

SEE ALSO ScalosGfxCreateARGB

NAME

ScalosGfxARGBSetAlpha -- Set all pixels to specified Alpha value.

SYNOPSIS

ScalosGfxARGBSetAlpha(src, alpha); A0  D0

VOID ScalosGfxARGBSetAlpha(struct ARGBHeader *, UBYTE)

FUNCTION Alpha value of all pixels in the ARGBHeader and its previously allocated gfxARGB array is set to the specified value.

INPUTS src - Header of gfxARGB rectangle to modify. alpha - Alpha (transparency) value to set.

RESULT

SEE ALSO ScalosGfxARGBSetAlphaMask

NAME

ScalosGfxARGBSetAlphaMask -- Set alpha value according to mask plane

SYNOPSIS

ScalosGfxARGBSetAlphaMask(argbh, maskPlane) A0    A1

VOID ScalosGfxARGBSetAlphaMask(struct ARGBHeader *, PLANEPTR)

FUNCTION Alpha values of all pixels in the ARGBHeader and its previously allocated gfxARGB array are set according to mask plane, i.e. for every bit set in mask plane, alpha is maximum (255), and for every cleared bit, alpha is set to minimum (0).

INPUTS argbh - Header of gfxARGB rectangle to modify. maskPlane - Single bit mask plane. Dimensions must match size of argbh, with width rounded up to next 16-bit.

RESULT nothing

SEE ALSO ScalosGfxARGBSetAlpha

NAME

ScalosGfxCreateARGBFromBitMap -- Create gfxARGB array from a BitMap

SYNOPSIS

argb = ScalosGfxCreateARGBFromBitMap(bm, width, height, numberOfColors, colorTable, maskPlane       	D0                                   A0  D0     D1      D2              A1          A2

struct gfxARGB *ScalosGfxCreateARGBFromBitMap(struct BitMap *, ULONG, ULONG, ULONG,       		const ULONG *, PLANEPTR)

FUNCTION Allocates and a gfxARGB array with specified dimensions, and fills it from provided BitMap, with optional mask plane. Works only with standard BitMaps with less than 256 colors.

INPUTS bm - source BitMap to fill gfxARGB array from, Depth must be less than 256 colors. width - Width of gfxARGB array height - Height of gfxARGB array numberOfColors - number of entries in colorTable colorTable - Color table to use for BitMap maskPlane - Single bit mask plane. Dimensions must match width and height, with width rounded up to next 16-bit. May be NULL. RESULT argb - allocated gfxARGB array or NULL on failure.

NOTES Use ScalosGfxFillARGBFromBitMap for high-color or true-color BitMaps.

SEE ALSO ScalosGfxFillARGBFromBitMap

NAME

ScalosGfxFillARGBFromBitMap -- Fill previously allocated gfxARGB array from CGFX BitMap

SYNOPSIS

ScalosGfxFillARGBFromBitMap(argbh, srcBM, maskPlane) A0    A1     A2

VOID ScalosGfxFillARGBFromBitMap(struct ARGBHeader *, struct BitMap *, PLANEPTR)

FUNCTION Fill a previously allocated gfxARGB array from a CyberGraphics BitMap. Can only be used for high-color or true-color BitMaps. If maskPlane if given, alpha information in argbh is created from maskPlane. If           maskPlane if NULL, alpha channel from source BitMap is used if available, otherwise alpha is set to opaque.

INPUTS argbh - completely initialized gfxARGB array srcBM - source BitMap to use for filling, depth must be at least 65536 colors maskPlane - Single bit mask plane. Dimensions must match width and height, with width rounded up to next 16-bit. May be NULL. RESULT nothing

NOTES Use ScalosGfxARGBSetAlpha for standard BitMaps (i.e. less than 256 colors).

SEE ALSO ScalosGfxCreateARGBFromBitMap

NAME

ScalosGfxWriteARGBToBitMap -- Copy gfxARGB array to BitMap

SYNOPSIS

ScalosGfxWriteARGBToBitMap(argbh, bm, numberOfColors, colorTable) A0    A1  D0              A2)

VOID ScalosGfxWriteARGBToBitMap(struct ARGBHeader *, struct BitMap *, ULONG, const ULONG *)

FUNCTION Creates a copy of gfxARGB array in destination BitMap, using pre-defined colorTable. Works only with standard BitMaps, i.e. with less than 256 colors. No sophisticated color reduction is performed, but bit-fit pens are decided via FindBestPen.

INPUTS argbh - gfxARGB array to read from bm - Standard BitMap to write to. BitMap must have less than 256 colors. numberOfColors - Number of entries in colorTable colorTable - color table to use for BitMap.

RESULT nothing

SEE ALSO

NAME

ScalosGfxMedianCut -- Create color-reduced BitMap from gfxARGB array

SYNOPSIS

sac = ScalosGfxMedianCut(argbh, depth, tagList) D0                      A0     D0     A1

struct ScalosBitMapAndColor *ScalosGfxMedianCut(struct ARGBHeader *, ULONG, struct TagItem *)

struct ScalosBitMapAndColor *ScalosGfxMedianCutTags(struct ARGBHeader *, ULONG, ULONG, ...)

FUNCTION Allocate and fill a color-reduced BitMap and a best-match color table from gfxARGB array. Either ordered dithering or Floyd-Steinberg dithering will be used for best results.

INPUTS argbh - gfxARGB array to read from depth - desired depth of generated BitMap, must be less than 256. tagList - array of tagItems, as desribed below, or NULL.

TAGS SCALOSGFX_MedianCutFlags - Flags as described below. SCALOSGFX_MedianCutFriendBitMap - struct BitMap *, friend BitMap to use for allocating result BitMap SCALOSGFX_MedianCutReservedColors - ULONG, number of reserved (unused) color entries at start of generated color table.

FLAGS SCALOSGFXFLAGF_MedianCut_FloydSteinberg - If set, Floyd-Steinberg dithering will be used for color reduction.

RESULT sac - created ScalosBitMapAndColor pointer, or NULL on failure.

SEE ALSO

NAME

ScalosGfxScaleARGBArray -- Scale given gfxARGB array

SYNOPSIS

argb = ScalosGfxScaleARGBArray(src, destWidth, destHeight, tagList) D0                            A0   A1         A2          A3

struct gfxARGB *ScalosGfxScaleARGBArray(const struct ARGBHeader *, ULONG *,       		ULONG *, struct TagItem *)

struct gfxARGB *ScalosGfxScaleARGBArrayTags(const struct ARGBHeader *, ULONG *,       		ULONG *, ULONG, ...)

FUNCTION Scales given gfxARGB array to a new size. Supports both enlarging and shrinking gfxARGB arrays.

INPUTS src - source gfxARGB array, will not be modified destWidth - desired width, might be internally corrected if SCALEFLAGF_CORRECTASPECT is set. destHeight - desired height, might be internally corrected if SCALEFLAGF_CORRECTASPECT is set. tagList - pointer to list of Tags, or NULL.

TAGS SCALOSGFX_ScaleARGBArrayFlags - ULONG, specify some operation flags as listed below.

FLAGS SCALEFLAGF_BICUBIC - allow bicubic scaling SCALEFLAGF_BILINEAR - allow bilinear scaling SCALEFLAGF_AVERAGE - allow average scaling SCALEFLAGF_DOUBLESIZE - allow intermediate step via double size, to improve quality SCALEFLAGF_CORRECTASPECT - allow correction of destWidth and destHeight to           meet source aspect ratio.

RESULT argb - Scaled copy of the source gfxARGB array

SEE ALSO

NAME

ScalosGfxScaleBitMap -- Scale given BitMap

SYNOPSIS

bm = ScalosGfxScaleBitMap(sbma, tagList) D0                       A0    A1

struct BitMap *ScalosGfxScaleBitMap(struct ScaleBitMapArg *, struct TagItem *)

struct BitMap *ScalosGfxScaleBitMapTags(struct ScaleBitMapArg *, ULONG, ...)

FUNCTION Scales given gfxARGB array to a new size. Supports both enlarging and shrinking gfxARGB arrays. INPUTS sbma - Structure with scaling parameters: sbma_SourceBM - The original BitMap. This BitMap is not modified. sbma_SourceWidth - Width of the source BitMap. sbma_SourceHeight - Height of the source BitMap sbma_DestWidth - Pointer to Width of resized BitMap, might be internally corrected if SCALEFLAGF_CORRECTASPECT is set. sbma_DestHeight - Pointer to Height of resized BitMap, might be internally corrected if SCALEFLAGF_CORRECTASPECT is set. sbma_NumberOfColors - number of entries in color table sbma_ColorTable - Color table for both source and resized BitMap. sbma_Flags - scaling flags: SCALEFLAGF_BICUBIC - allow bicubic scaling SCALEFLAGF_BILINEAR - allow bilinear scaling SCALEFLAGF_AVERAGE - allow average scaling SCALEFLAGF_DOUBLESIZE - allow intermediate scaling step with double size, to improve quality SCALEFLAGF_CORRECTASPECT - allow correction of destWidth and destHeight to meet source aspect ratio. sbma_ScreenBM - Firend BitMap used when allocating resized BitMap. tagList - pointer to list of Tags, or NULL.

TAGS none defined yet.

RESULT bm - Scaled copy of the original BitMap

SEE ALSO

NAME

ScalosGfxCalculateScaleAspect -- Adjust scaling dimensions to source aspect

SYNOPSIS

ScalosGfxCalculateScaleAspect(sourceWidth, sourceHeight, *destWidth, *destHeight) D0          D1            A0          A1

VOID ScalosGfxCalculateScaleAspect(ULONG, ULONG, ULONG *, ULONG *)

FUNCTION Adjusts either destWidth or destHeight according to aspect ratio of           sourceWidth and soureHeight.

INPUTS sourceWidth - Unscaled width. sourceHeight - Unscaled Height; destWidth - Pointer to desired scaled width. destHeight - Pointer to desired scaled width.

RESULT nothing

SEE ALSO

NAME

ScalosGfxBlitARGB -- Blit rectangle between two gfxARGB array rectangles.

SYNOPSIS

ScalosGfxBlitARGB(destARGB, srcARGB, destLeft, destTop, srcLeft, srcTop, width, height) A0       A1       D0        D1       D2       D3      D4     D5

VOID ScalosGfxBlitARGB(struct ARGBHeader *, const struct ARGBHeader *,       		LONG, LONG, LONG, LONG, LONG, LONG)

FUNCTION Blits user-defined rectangle from srcARGB at specified position into destARGB. No alpha handling is performed, destination pixel values are simply replaced by source pixels.

INPUTS destARGB - destination gfxARGB array srcARGB - source gfxARGB array destLeft - Left start position in destARGB. destTop - Top start position in destARGB. srcLeft - Left start position in srcARGB. srcTop - Top start position in srcARGB. width - Width of blitted rectangle. height - Height of blitted rectangle.

RESULT nothing

SEE ALSO

NAME

ScalosGfxFillRectARGB -- Blit two gfxARGB array rectangles

SYNOPSIS

ScalosGfxFillRectARGB(destARGB, fillARGB, left, top, width, height) A0       A1        D0    D1   D2     D3

VOID ScalosGfxFillRectARGB(struct ARGBHeader *, const struct gfxARGB *,       		LONG, LONG, LONG, LONG)

FUNCTION Blits fillARGB at specified position into destARGB. No alpha handling is           performed, destination pixel values are just replaced by source pixels. Blit always starts at (0,0) in fillARGB.

INPUTS destARGB - destination gfxARGB array. fillARGB - source gfxARGB array. left - Left start position in destARGB. top - Top start position in destARGB. width - Width of blitted rectangle. height - Height of blitted rectangle.

RESULT nothing

SEE ALSO

NAME

ScalosGfxSetARGB -- Set entire gfxARGB array to given ARGB color

SYNOPSIS

ScalosGfxSetARGB(destARGB, fillARGB) A0        A1

VOID ScalosGfxSetARGB(struct ARGBHeader *, const struct gfxARGB *)

FUNCTION Set all pixels in entire gfxARGB array to the given ARGB color.

INPUTS destARGB - gfxARGB array to be changed. fillARGB - ARGB value to set pixels to.

RESULT nothing

SEE ALSO

NAME

ScalosGfxNewColorMap -- Allocate new color table for ScalosBitMapAndColor

SYNOPSIS

success = ScalosGfxNewColorMap(sac, colorMap, colorEntries) D0                            A0   A1        D0

BOOL ScalosGfxNewColorMap(struct ScalosBitMapAndColor *, const ULONG *, ULONG)

FUNCTION Allocates a new color table for ScalosBitMapAndColor. The new color table is           filled with the RGB values from colorMap. Any previously color table in ScalosBitMapAndColor is freed.

INPUTS sac - ScalosBitMapAndColor where to store new color table. colorMap - RGB values for new color table colorEntries - Desired number of entries in new color table

RESULT success - TRUE if new color table was successfully allocated, FALSE on failure.

SEE ALSO

NAME

ScalosGfxARGBRectMult -- Multiply RGB value with given factor

SYNOPSIS

ScalosGfxARGBRectMult(rp, numerator, denominator, xMin, yMin, xMax, yMax) A0 A1         A2           D0    D1    D2    D3

VOID ScalosGfxARGBRectMult(struct RastPort *, const struct gfxARGB *,       		const struct gfxARGB *, WORD, WORD, WORD, WORD)

FUNCTION Multiplies RGB values of pixels within a specified rectangle with (numerator/denominator). Overflow is clipped to maximum RGB value (255). Works only with CyberGraphics generated, high-color or true-color BitMaps. Takes Layers in RastPort into account.

INPUTS rp - RastPort with the BitMap to be modified. numerator - Scaling factor as numerator:denominator denominator - Scaling factor as numerator:denominator xMin - Left start of modified rectangle. yMin - Top start of modified rectangle. xMax - Right end of modified rectangle. yMax - Bottom end of modified rectangle.

RESULT nothing

SEE ALSO

NAME

ScalosGfxBlitARGBAlpha -- Alpha blit from gfxARGB array into RastPort

SYNOPSIS

ScalosGfxBlitARGBAlpha(rp, srcH, destLeft, destTop, srcLeft, srcTop, width, height) A0 A1    D0        D1       D2       D3      D4     D5

VOID ScalosGfxBlitARGBAlpha (struct RastPort *, const struct ARGBHeader *,       		ULONG, ULONG, ULONG, ULONG, ULONG, ULONG)

FUNCTION Blit a rectangular area from source gfxARGB array into destination RastPort. Alpha (transparency) information in           source gfxARGB array is fully accounted for. Destination RastPort may have Layers.

INPUTS rp - Destination, this RastPort is been drawn to. srcH - Source gfxARGB array destLeft - Left offset in destination RastPort. destTop - Top offset in destination RastPort. srcLeft - Left offset in source gfxARGB array. srcTop - Left offset in source gfxARGB array. width - Width of blit rectangle. height - Height of blit rectangle.

RESULT nothing

NOTES

SEE ALSO ScalosGfxBlitARGBAlphaTagList

NAME

ScalosGfxBlitARGBAlphaTagList -- Alpha blit from gfxARGB array into RastPort

SYNOPSIS

ScalosGfxBlitARGBAlphaTagList(rp, srcH, destLeft, destTop, srcSize, tagList) A0 A1    D0        D1       A3       A2

VOID ScalosGfxBlitARGBAlphaTagList(struct RastPort *, const struct ARGBHeader *,       		ULONG, ULONG, const struct IBox *, struct TagItem *)

VOID ScalosGfxBlitARGBAlphaTags(struct RastPort *, const struct ARGBHeader *,       		ULONG, ULONG, const struct IBox *, ULONG, ...)

FUNCTION

INPUTS rp - Destination, this RastPort is been drawn to. srcH - Source gfxARGB array destLeft - Left offset in destination RastPort. destTop - Top offset in destination RastPort. srcSize - IBox defining both left/top offset in source gfxARGB array, and size of blit rectangle. tagList - pointer to list of Tags, or NULL.

TAGS SCALOSGFX_BlitIconHilight - const struct ARGB *, ARGB value to use for highlighting.Its RGB values are added to the destination pixels, with clipping to 0..255 range. SCALOSGFX_BlitIconAlpha - const UBYTE *, specify alpha array for icon. SCALOSGFX_BlitIconTransparency - ULONG, specify alpha for icon, 0...255. RESULT nothing

SEE ALSO ScalosGfxBlitARGBAlpha

NAME

ScalosGfxBlitIcon -- Alpha blit from RastPort to RastPort

SYNOPSIS

ScalosGfxBlitIcon(rpBackground, rpIcon, left, top, width, height, tagList) A0           A1      D0    D1   D2     D3      A2

VOID ScalosGfxBlitIcon(struct RastPort *, struct RastPort *,       		ULONG, ULONG, ULONG, ULONG, struct TagItem *)

VOID ScalosGfxBlitIconTags(struct RastPort *, struct RastPort *,       		ULONG, ULONG, ULONG, ULONG, ULONG, ...)

FUNCTION Blit a rectangular area from rpIcon into rpBackground, with full alpha (transparency) support. This function supports RastPorts with Layers.

INPUTS rpBackground - Target RastPort. rpIcon - Source RastPort. The BitMap of this RastPort is           not modified. left - left start of blit in rpBackground top - top start of blit in rpBackground width - width of the blitting rectangle height - height of the blitting rectangle tagList - pointer to list of Tags, or NULL.

TAGS SCALOSGFX_BlitIconHilight - const struct ARGB *, ARGB value to use for highlighting. Its RGB values are added to the destination pixels, with clipping to 0..255 range. SCALOSGFX_BlitIconAlpha - const UBYTE *, specify alpha array for icon. SCALOSGFX_BlitIconTransparency - ULONG, specify alpha for icon, 0...255.

RESULT nothing

SEE ALSO

Scalos API
--background --Scalos_Message --Modules --PlugIn's   --MenuPlugIn's    SM_AddIcon SM_AppSleep SM_AppWakeup SM_CloseWindow SM_DeltaMove SM_DoPopupMenu SM_Iconify SM_NewPreferences SM_NewPattern SM_NewWindowPath SM_PrefsChanged SM_Redraw SM_RedrawIcon SM_RedrawIconObj SM_RemIcon SM_Requester SM_RunMenuCmd SM_RunProcess SM_SetThumbnailImage_ARGB SM_SetThumbnailImage_Remapped SM_ShowPopupMenu SM_ShowStatusBar SM_ShowTitle SM_Sleep SM_UnIconify SM_Update SM_UpdateIcon SM_Wakeup

NAME

--background

DESCRIPTION This documentation gives you information how to communicate with Scalos and its windowtasks. There are not many MessageTypes currently available, but it will be more in future.

NAME

--Scalos_Message

DESCRIPTION If you send a message to scalos you should use the SCA_AllocMessage and SCA_FreeMessage calls from the scalos.library. The returned message will look like this:

struct ScalosMessage {           struct Message sm_Message; ULONG sm_Signature; /* "IMSG" */ ULONG sm_MessageType; };

The message ports where to sent the messages to are available via the SCA_LockWindowList / SCA_UnLockWindowList calls from scalos.library.

Additional data depends upon MessageType. SYNOPSIS will give you information about this data. INPUTS means the message for PutMsg and RESULT the one that was replied.

NAME

--Modules

DESCRIPTION Modules are programs with a standard wb-start enviroment. The arguments are additional values (e.g. Execute_Command: the dir and           the filename as default value for the string-gadget).

NAME

--PlugIn's

DESCRIPTION PlugIn's are external BOOPSI Classes that will enhance or replace internal classes. The only thing you have to do is to write a little shared library with only one offset. The library base should have at           least a structure of a Library structure followed by a longword (four bytes). These four bytes are used to store an identifier so that Scalos can know that it is a Scalos plugin. The value for these four bytes should be 'PLUG' (which you should set in the initialisation           routine of your plugin, or the auto initialisation).

The one specific offset (it must be the first public function of your           library if you decide to have more functions) has to return a ScaClassInfo struct. Your PlugIn can be added automatically on startup if you add it to the PlugIn list in Scalos Prefs.

SYNOPSIS

ScaClassInfo SCAGetClassInfo D0

struct ScaClassInfo *SCAGetClassInfo( void );

NAME

--MenuPlugIn's

DESCRIPTION A MenuPlugIn is a little library with one function. As with the standard plugins, your plugin function must be the first public function of the library. Menu plugins also require an identifier in the four bytes following the Library structure of the library base. In the case of menu plugins, the value for these four bytes should be 'OOPP'.

This functions have to be full reentrant. The windowtask is blocked until your function returns. Never open a requester or block the task for a       long time use SCCM_AsyncRoutine instead.

SYNOPSIS

SCAMenuFunction( WindowTask, IconNode) A0         A1

void SCAMenuFunction( struct ScaWindowTask *, struct ScaIconNode *);

NOTES In order to get a pointer to the IconNode, your plugin must be called from an popup menu. When called from a screen menu, the IconNode pointer is always NULL.

NAME

SM_DeltaMove

SYNOPSIS

LONG smdm_DeltaX; LONG smdm_DeltaY; ULONG smdm_AdjustSlider;

FUNCTION

Moves window interior by (deltaX,deltaY) and adjusts scrollers accordingly.

INPUTS

smdm_DeltaX - number of pixels to scroll the window contents in horizontal direction. smdm_DeltaY - number of pixels to scroll the window contents in vertical direction. smdm_AdjustSlider - Flags to use for correction of virtual size SETVIRTF_AdjustRightSlider = adjust right (vertical) slider SETVIRTF_AdjustBottomSlider = set bottom (horizontal) slider

RESULT

nothing

SEE ALSO

IconWindow.sca/SCCM_IconWin_DeltaMove IconWindow.sca/SCCM_IconWin_SetVirtSize

NAME

SM_CloseWindow

SYNOPSIS

FUNCTION

Closes the window of the selected messageport.

INPUTS

none

RESULT

nothing

SEE ALSO

NAME

SM_DoPopupMenu

SYNOPSIS

FUNCTION

Trigger opening of a window or icon popup menu.

INPUTS

smdpm_InputEvent - InputEvent that triggered the popup menu. The mouse coordinates from the InputEvent are ignored, and the screen->MouseX, MouseY are used instead.

RESULT

nothing

SEE ALSO

NAME

SM_NewPattern

SYNOPSIS

APTR nmnp_PatternNode

FUNCTION

Sets a new pattern for the window

INPUTS

snmp_PatternNode - the new pattern or NULL for no pattern.

RESULT

nothing

SEE ALSO

NAME

SM_NewWindowPath

SYNOPSIS

FUNCTION

Change contents in existing window to display the given new path.

INPUTS

STRPTR smnwp_Path - Path of the new drawer to display in the window struct TagItem *smnwp_TagList - additional tags

Supported tags are: SCA_ShowAllMode - one of the workbench DDFLAGS_* values. SCA_ViewModes - one of the workbench DDVM_BY* values SCA_XOffset - (LONG) Window X offset SCA_YOffset - (LONG) Window Y offset SCA_IconList - (struct ScaIconNode *) pregenerated icon list

RESULT

nothing

SEE ALSO

IconWindow.sca/SCCM_IconWin_NewPath

NAME

SM_PrefsChanged

SYNOPSIS

ULONG Flags

FUNCTION

Inform existing window about changed preferences. The window is   responsible to perform any required updating.

INPUTS

ULONG Flags - future flags. Set to 0 for upwards compatibility.

RESULT

nothing

SEE ALSO

NAME

SM_Sleep

SYNOPSIS

FUNCTION

The windowtask that receives this message will be sleep. Only the window will be closed, no icon will be displayed.

INPUTS

none

RESULT

nothing

NOTES Never send this message to a the main_messageport!

SEE ALSO

SM_Wakeup

NAME

SM_Wakeup

SYNOPSIS

ULONG  smwu_ReLayout

FUNCTION

Wakeup the selected window_task. It's the opposite to SM_Sleep.

INPUTS

smwu_ReLayout - BOOL TRUE if all icons of the window should be relayouted. This is especially important when WorkBench screen has changed.

RESULT

nothing

NOTES Never send this message to a the main_messageport!

SEE ALSO

SM_Sleep

NAME

SM_AppSleep

SYNOPSIS

FUNCTION

All windowtasks and all ScalosApplications will fall asleep.

INPUTS

none

RESULT

nothing

NOTES This message must be sent to the main_messageport!

SEE ALSO

SM_AppWakeup

NAME

SM_AppWakeup

SYNOPSIS

ULONG  smaw_ReLayout

FUNCTION

Wakeup all thing that sleeps since SM_AppSleep.

INPUTS

smaw_ReLayout - TRUE if all icons should be relayouted. This is especially important when WorkBench screen has changed.

RESULT

nothing

NOTES This message must be sent to the main_messageport!

SEE ALSO

SM_AppSleep

NAME

SM_Redraw

SYNOPSIS

ULONG  smmr_Flags

FUNCTION

Redraws the icons inside of the window. This method could be uses to   refresh the window after adding or selecting/deselecting icons.

INPUTS

smmr_Flags - REDRAWB_DontEraseWindow : don't erase window before redraw REDRAWB_ReLayoutIcons : relayout icons

RESULT

nothing

SEE ALSO

NAME

SM_RedrawIcon

SYNOPSIS

struct ScaIconObject *smri_Icon

FUNCTION

Redraws the specified icon inside of the window. The window icon list semaphore must not be kept locked for this message to work! Before actually trying to redraw, an explicit check is done whether the icon is really member of the window's icon list.

INPUTS

smri_Icon - the icvon to be redrawn

RESULT

nothing

SEE ALSO

NAME

SM_RedrawIconObj

SYNOPSIS

Object *smrio_IconObject ULONG smrio_Flags

FUNCTION

Redraws the specified iconobject inside of the window. The window icon list semaphore must not be kept locked for this message to work! Before actually trying to redraw, an explicit check is done whether the icon is really member of the window's icon list. Optionally, the icon can be explicitly erased before redrawing, and a new icon icon layout may be requested (IDTM_FreeLayout   / IDTM_Layout).

INPUTS

smrio_IconObject - the iconobject to be redrawn smrio_Flags SMRIOFLAGF_EraseIcon - the iconobject is erased before redraw SMRIOFLAGF_FreeLayout - the iconobject is forced to refresh its layout (with IDTM_FreeLayout and IDTM_Layout). SMRIOFLAGF_Highlight - indicates that there is only a change in icon highlighting state. SMRIOFLAGF_IconListLocked - the window icon list is   currently locked. SMRIOFLAGB_HightlightOn - set ICONOBJ_USERFLAGF_DrawHighlite before drawing. Useful in combination with SMRIOFLAGF_Highlight. SMRIOFLAGB_HightlightOff - clear ICONOBJ_USERFLAGF_DrawHighlite before drawing. Useful in combination with SMRIOFLAGF_Highlight.

RESULT

nothing

SEE ALSO

NAME

SM_SetThumbnailImage_ARGB

SYNOPSIS

Object	*smtia_IconObject struct ARGBHeader smtia_NewImage

FUNCTION

Attach a new ARGB image to an existing icon. The sender of this message is responsible to make sure that destination icon is able to handle true-color ARGB images.

INPUTS

smtia_IconObject - the icon to attach the new image to. smtia_NewImage -- the new ARGB image. ARGBHeader contents (BitMap) is supposed to be freed by message receiver.

RESULT

nothing

SEE ALSO

NAME

SM_SetThumbnailImage_Remapped

SYNOPSIS

Object	*smtir_IconObject;			// the icon to attach the new image to struct ScalosBitMapAndColor *smtir_NewImage;   // the new image. ScalosBitMapAndColor contents is freed by message handler

FUNCTION

Attach a new color-mapped image to an existing icon. The sender of this message is responsible to make sure that destination icon is able to handle the color-mapped image.

INPUTS

smtir_IconObject -- the icon to attach the new image to. smtir_NewImage -- the new image. ScalosBitMapAndColor contents is supposed to be freed by message receiver.

RESULT

nothing

SEE ALSO

NAME

SM_ShowPopupMenu

SYNOPSIS

struct PopupMenu *pm struct ScaIconNode *in ULONG Flags struct FileTypeDef *fType

FUNCTION

Show a popup menu and execute the user's menu command.

INPUTS

pm - Popup menu to display. in - Scalos icon node the popup menu should be associated to. Can be NULL for window popup menus. Flags - Show which items are still locked and HAVE TO BE UNLOCKED during processing. SHOWPOPUPFLGF_IconSemaLocked - wt_IconSemaphore is still locked SHOWPOPUPFLGF_WinListLocked - Scalos window list is still locked. fType - Private data structure for support of file type specific popup menus. Should be NULL if unused.

RESULT

nothing

SEE ALSO

NAME

SM_ShowStatusBar

SYNOPSIS

BOOL Visible

FUNCTION

Show or hide the status bar on a Scalos window.

INPUTS

Visible - TRUE to display the status bar, FALSE to hide it.

RESULT

nothing

SEE ALSO

NAME

SM_Update

SYNOPSIS

FUNCTION

Causes the window to reread its icons.

INPUTS

none

RESULT

nothing

SEE ALSO

NAME

SM_UpdateIcon

SYNOPSIS

BPTR smui_DirLock CONST_STRPTR smui_IconName

FUNCTION

Refresh a selected icon.

INPUTS

smui_DirLock - Lock to parent dir of icon. smui_IconName - Name of the icon.

RESULT

nothing

NOTES You must create copies of smui_DirLock and smui_IconName before sending this message. Those copies will be deleted by Scalos.

Example: smui_DirLock = DupLock(myLock); smui_IconName = AllocVec(1 + strlen(myName), MEMF_PUBLIC);

SEE ALSO

scalos.library/SCA_UpdateIcon

NAME

SM_AddIcon

SYNOPSIS

UWORD	smai_x UWORD	smai_y BPTR	smai_DirLock STRPTR	smai_IconName

FUNCTION

Causes a window task to load a selected icon.

INPUTS

smai_x smai_y - the position where the icon should appear or 0x8000 for any smai_DirLock - Lock to parent dir of icon. smai_IconName - Name of the icon.

RESULT

nothing

SEE ALSO

NAME

SM_RemIcon

SYNOPSIS

BPTR	smri_DirLock STRPTR	smri_IconName

FUNCTION

Removes an icon from window.

INPUTS

smri_DirLock - Lock to parent dir of icon. smri_IconName - Name of the icon.

RESULT

nothing

SEE ALSO

NAME

SM_Iconify

SYNOPSIS

FUNCTION

Set the window to sleep and adds an icon to the main window.

INPUTS

none

NOTES Never send this message to the main window!

RESULT

nothing

SEE ALSO

SM_UnIconify

NAME

SM_UnIconify

SYNOPSIS

FUNCTION

Removes the appicon from main window and reopens the window.

INPUTS

none

RESULT

nothing

NOTES Never send this message to the main window!

SEE ALSO

SM_Iconify

NAME

SM_RunMenuCmd

SYNOPSIS

APTR smrm_MenuItem struct ScaIconNode *smrm_IconNode ULONG smrm_Flags

FUNCTION

This message is used to execute a Scalos menu command in some other window task's context.

INPUTS

smrm_MenuItem - internal Scalos menu item descriptor smrm_IconNode - Iconnode to execute the command with. smrm_Flags - none defined yet.

RESULT

nothing

SEE ALSO

NAME

SM_ShowTitle

SYNOPSIS

ULONG smst_showTitle

FUNCTION

This message is used to set the screen title bar display mode.

INPUTS

smst_showTitle - Screen title bar mode If TRUE, the screen's title bar will be shown in front of   WFLG_BACKDROP windows. If FALSE, the title bar will be rendered behind all windows.

RESULT

nothing

SEE ALSO

NAME

SM_Requester

SYNOPSIS

union	{ ULONG 		smrq_ReqResult; struct	Window 	*smrq_ParentWindow; };	APTR			smrq_ArgList; struct	EasyStruct 	smrq_ez; UBYTE			smrq_ArgListBuffer[0];

FUNCTION

Asynchronously pops up a requester and returns the result.

INPUTS

smrq_ParentWindow - designates which screen to open the requester on. smrq_ReqResult - Here the result from EaysRequest is returned. smrq_ArgList - pointer to ArgList for EasyRequestArgs. smrq_ez - Contains information for EasyRequestArgs smrq_ArgListBuffer - buffer for ArgList - allocated as large as needed. Put the required buffer length into the additional_size parameter of the SCA_AllocMessage call.

RESULT

nothing

SEE ALSO

intuition.library/EasyRequestArgs scalos/SCA_AllocMessage

NAME

SM_NewPreferences

SYNOPSIS

ULONG	smnp_PrefsFlags

FUNCTION

Triggers re-reading and checking of preferences files used by   Scalos. Multiple invocations of SM_NewPreferences accumulate the bits for changes subsystems. When there are no more SM_NewPreferences for 0.5s, all marked preferences are re-read and check for changes. If changes are detected, Scalos reinitializes subsystems as required by the preferences changes.

INPUTS

smnp_PrefsFlags - Bitmask with one bit set for each changed preferences file. .

RESULT

nothing

SEE ALSO

Device List
--background SCCM_DeviceList_Generate SCCM_DeviceList_FreeDevNode SCCM_DeviceList_Filter

NAME

--background

DESCRIPTION This class is used to generate a list of all currently available devices. The list will be used to load or update diskicons. You may use this class to filter the devices.

NAME

SCCM_DeviceList_Generate

SYNOPSIS

DoMethod(obj,SCCM_DeviceList_Generate,APTR NodeList);

FUNCTION Generates the full list of devices. Scans through the DosList and adds a ScaDeviceIcon to the NodeList for every appropriate device/volume found. When finished scanning, applies SCCM_DeviceList_Filter to the NodeList of generated icons.

INPUTS NodeList - pointer to an empty ScalosNodeList

SEE ALSO

NAME

SCCM_DeviceList_FreeDevNode

SYNOPSIS

DoMethod(obj,SCCM_DeviceList_FreeDevNode,APTR Node);

FUNCTION Frees anything inside of this node, but not the node itself.

INPUTS Node - DeviceNode

SEE ALSO

NAME

SCCM_DeviceList_Filter

SYNOPSIS

DoMethod(obj,SCCM_DeviceList_Filter,APTR NodeList);

FUNCTION Filters the list of DeviceNodes. You can hide some devices or restore the nodelist. Default: all DOS-Devices without a volume will be           filtered. Checkout the flags field in the DeviceNode structure.

INPUTS NodeList - pointer to a ScalosNodeList

SEE ALSO

Device Windows
Content-Type: text/html DeviceWin.sca

--background SCCM_DeviceWin_ReadIcon SCCM_DeviceWin_RemIcon

NAME

--background

DESCRIPTION This class implements the main Workbench (= root) window, which shows the icons for the mounted devices and volumes.

NAME

SCCM_DeviceWin_ReadIcon

SYNOPSIS

void DoMethod(obj,SCCM_DeviceWin_ReadIcon,       		struct ScaDeviceIcon *DeviceNode);

FUNCTION Read icon for device (DeviceNode) into window. Depending on prefs settings "DefIcons First", it tries to read :

DefIconsFirst enabled: 1. default volume icon "/def_.info" 2. default device icon "/def_.info" 3. disk icon ":disk.info"

DefIconsFirst disabled: 1. disk icon ":disk.info" 2. default volume icon "/def_.info" 3. default device icon "/def_.info"

If everything else fails, a default icon if type WBDISK is read.

INPUTS DeviceNode - info about what device to read icon for.

RESULT nothing

SEE ALSO

NAME

SCCM_DeviceWin_RemIcon

SYNOPSIS

void DoMethod(obj,SCCM_DeviceWin_RemIcon,struct ScaIconNode *icon);

FUNCTION Remove specified icon from window

INPUTS icon - Icon to remove from window

RESULT nothing

SEE ALSO

window
--background SCCM_Window_ChangeWindow SCCM_Window_Close SCCM_Window_DynamicResize SCCM_Window_GetIconFileType SCCM_Window_Iconify SCCM_Window_InitClipRegion SCCM_Window_LockUpdate SCCM_Window_NewPath SCCM_Window_RemClipRegion SCCM_Window_Open SCCM_Window_SetTitle SCCM_Window_SetInnerSize SCCM_Window_UnIconify SCCM_Window_UnlockUpdate

NAME

--background

DESCRIPTION This class implements all common window functionality used for icon windows, text windows and device windows.

All window methods are invoked with mt_WindowObject.

NAME

SCCM_Window_ChangeWindow

SYNOPSIS

DoMethod(obj,SCCM_Window_ChangeWindow);

FUNCTION Notifies that a Scalos window may have changed either position, or size, or both.

INPUTS none

RESULT nothing

SEE ALSO

NAME

SCCM_Window_Close

SYNOPSIS

DoMethod(obj,SCCM_Window_Close);

FUNCTION Closes a scalos window

INPUTS none

RESULT nothing

SEE ALSO

NAME

SCCM_Window_DynamicResize

SYNOPSIS

DoMethod(obj,SCCM_Window_DynamicResize);

FUNCTION Handles dynamic window resizing, including recalculation of window inner size, and re-sorting of unpositioned icons (if enabled).

INPUTS none

RESULT nothing

SEE ALSO

NAME

SCCM_Window_GetIconFileType

SYNOPSIS

DoMethod(obj,SCCM_Window_GetIconFileType, struct ScaIconNode *in);

FUNCTION Fills the in_FileType element of the Scalos icon with a TypeNode according to the file type of the icon.

INPUTS in - Scalos icon that gets its in_FileType updated.

RESULT nothing

SEE ALSO

NAME

SCCM_Window_Iconify

SYNOPSIS

DoMethod(obj,SCCM_Window_Iconify);

FUNCTION Iconifies a scalos window

INPUTS none

RESULT TRUE if window could be iconified successfully or           has already been iconified. FALSE if something went wrong.

SEE ALSO

NAME

SCCM_Window_UnIconify

SYNOPSIS

DoMethod(obj,SCCM_Window_UnIconify);

FUNCTION Uniconifies an iconified scalos window

INPUTS none

RESULT nothing

SEE ALSO

NAME

SCCM_Window_InitClipRegion

SYNOPSIS

struct Region *oldRegion = DoMethod(obj,SCCM_Window_InitClipRegion);

FUNCTION Initializes window clip region so that all rendering is limited to           the window interior. All window drawing - especially icon rendering - should be done inside a SCCM_Window_InitClipRegion / SCCM_Window_RemClipRegion call.

INPUTS none

RESULT oldRegion - original clip region (to be supplied           to SCCM_Window_RemClipRegion)

SEE ALSO SCCM_Window_RemClipRegion

NAME

SCCM_Window_LockUpdate

SYNOPSIS

void DoMethod(obj,SCCM_Window_LockUpdate)

FUNCTION Holds all icon updates for that window.

INPUTS none

RESULT nothing

SEE ALSO SCCM_Window_UnlockUpdate

NAME

SCCM_Window_NewPath

SYNOPSIS

void DoMethod(obj,SCCM_Window_NewPath,CONST_STRPTR path,ULONG tags,...);

FUNCTION Inform window object about new path. No-op in standard window classes.

INPUTS path - command name tags - tag list. Supported tags are: SCA_ShowAllMode - one of the workbench DDFLAGS_* values. SCA_ViewModes - one of the workbench DDVM_BY* values SCA_XOffset - (LONG) Window X offset SCA_YOffset - (LONG) Window Y offset SCA_IconList - (struct ScaIconNode *) pregenerated icon list

RESULT Success - FALSE on failure, TRUE to indiciate success.

SEE ALSO scalosAPI/SM_NewWindowPath IconWindow.sca/SCCM_IconWin_NewPath

NAME

SCCM_Window_RemClipRegion

SYNOPSIS

void DoMethod(obj,SCCM_Window_RemClipRegion,        		struct Region *oldRegion);

FUNCTION Resets window clip region to oldRegion.

INPUTS oldRegion - original clip region (Result from SCCM_Window_InitClipRegion)

RESULT nothing

SEE ALSO SCCM_Window_InitClipRegion

NAME

SCCM_Window_Open

SYNOPSIS

struct Window *win = DoMethod(obj,SCCM_Window_Open);

FUNCTION Opens a scalos window

INPUTS none

RESULT win - Pointer to Intuition Window if window could be opened, NULL if something went wrong.

SEE ALSO

NAME

SCCM_Window_SetTitle

SYNOPSIS

void DoMethod(obj,SCCM_Window_SetTitle, CONST_STRPTR title)

FUNCTION Sets window title to (title).

INPUTS title - window title string.

RESULT nothing

SEE ALSO

NAME

SCCM_Window_SetInnerSize

SYNOPSIS

void DoMethod(obj,SCCM_Window_SetInnerSize)

FUNCTION Update internal Scalos variables according to the current window size and setup a new window clip region.

INPUTS none

RESULT nothing

SEE ALSO

NAME

SCCM_Window_UnlockUpdate

SYNOPSIS

void DoMethod(obj,SCCM_Window_UnlockUpdate)

FUNCTION Enabled window updates stopped by SCCM_Window_LockUpdate.

INPUTS none

RESULT nothing

SEE ALSO SCCM_Window_LockUpdate

iconwindow
--background SCCM_IconWin_ActivateIconDown SCCM_IconWin_ActivateIconLeft SCCM_IconWin_ActivateIconNext SCCM_IconWin_ActivateIconPrevious SCCM_IconWin_ActivateIconRight SCCM_IconWin_ActivateIconUp SCCM_IconWin_AddGadget SCCM_IconWin_AddIcon SCCM_IconWin_AddToControlBar SCCM_IconWin_AddToStatusBar SCCM_IconWin_Browse SCCM_IconWin_CleanUp SCCM_IconWin_CleanUpByDate SCCM_IconWin_CleanUpByName SCCM_IconWin_CleanUpBySize SCCM_IconWin_CleanUpByType SCCM_IconWin_ClearIconFileTypes SCCM_IconWin_CountWBArg SCCM_IconWin_DeltaMove SCCM_IconWin_DragDrop SCCM_IconWin_DragEnter SCCM_IconWin_DragQuery SCCM_IconWin_DragLeave SCCM_IconWin_DrawIcon SCCM_IconWin_GetDefIcon SCCM_IconWin_GetIconFileType SCCM_IconWin_History_Back SCCM_IconWin_History_Forward SCCM_IconWin_ImmediateCheckUpdate SCCM_IconWin_LayoutIcon SCCM_IconWin_MakeWBArg SCCM_IconWin_MenuCommand SCCM_IconWin_NewPath SCCM_IconWin_NewPatternNumber SCCM_IconWin_NewViewMode SCCM_IconWin_Open SCCM_IconWin_RawKey SCCM_IconWin_ReadIcon SCCM_IconWin_ReadIconList SCCM_IconWin_Redraw SCCM_IconWin_RemFromControlBar SCCM_IconWin_RemFromStatusBar SCCM_IconWin_RemIcon SCCM_IconWin_ScheduleUpdate SCCM_IconWin_SetVirtSize SCCM_IconWin_ShowGadgetToolTip SCCM_IconWin_ShowIconToolTip SCCM_IconWin_ShowPopupMenu SCCM_IconWin_Sleep SCCM_IconWin_StartNotify SCCM_IconWin_Update SCCM_IconWin_UpdateIcon SCCM_IconWin_UpdateControlBar SCCM_IconWin_UpdateStatusBar SCCM_IconWin_WakeUp

NAME

--background

DESCRIPTION This class implements the functionality for the common workbench icon windows.

ATTRIBUTES SCCA_IconWin_Reading - (BOOL) [SG] currently reading directory

SCCA_IconWin_SelectedCount - (ULONG) [SG] number of selected icons in window

SCCA_IconWin_Typing - (BOOL) [SG] user is currently tying icon name

SCCA_IconWin_ShowType - (ULONG) [SG] DDFLAGS_SHOWDEFAULT, DDFLAGS_SHOWICONS, or DDFLAGS_SHOWALL

SCCA_IconWin_InnerWidth - (ULONG) [.G]           icon window inner width

SCCA_IconWin_InnerHeight - (ULONG) [.G]           icon window inner height

SCCA_IconWin_IconFont - (struct TextFont *) [.G]           icon window icon font

SCCA_IconWin_LayersLocked - (ULONG) [.G]           Flag: icon window has Layers locked

SCCA_IconWin_StatusBar - (BOOL) [SG] Flag: Status bar is present

SCCA_IconWin_ThumbnailView - (ULONG) [SG] Thumbnail display mode. One of THUMBNAILS_Never, THUMBNAILS_Always, or THUMBNAILS_AsDefault. Any other value makes the window use the default value, as set in Scalos preferences.

NAME

SCCM_IconWin_ActivateIconDown

SYNOPSIS

DoMethod(obj,SCCM_IconWin_ActivateIconDown);

FUNCTION Starting from the first icon currently selected, the icon located directly below the selected will be activated. If there is no icon selected, or the selected icon is located in           the bottommost row, the method is a no-op.

INPUTS None

RESULT nothing

SEE ALSO SCCM_IconWin_ActivateIconUp SCCM_IconWin_ActivateIconLeft SCCM_IconWin_ActivateIconRight

NAME

SCCM_IconWin_ActivateIconLeft

SYNOPSIS

DoMethod(obj,SCCM_IconWin_ActivateIconLeft);

FUNCTION Starting from the first icon currently selected, the icon located directly left of the selected will be activated. If there is no icon selected, or the selected icon is located in           the leftmost column, the method is a no-op.

INPUTS None

RESULT nothing

SEE ALSO SCCM_IconWin_ActivateIconDown SCCM_IconWin_ActivateIconUp SCCM_IconWin_ActivateIconRight

NAME

SCCM_IconWin_ActivateIconNext

SYNOPSIS

DoMethod(obj,SCCM_IconWin_ActivateIconNext);

FUNCTION Starting from the first icon currently selected, the icon which alphabetically follows the name of the selected one will be activated. If there is no icon selected, the alphabetically first icon will be selected. If the currently activated icon is the alphabetically last one in           the window, this method will wrap around and activate the alphabetically first one.

INPUTS None

RESULT nothing

SEE ALSO SCCM_IconWin_ActivateIconPrevious

NAME

SCCM_IconWin_ActivateIconPrevious

SYNOPSIS

DoMethod(obj,SCCM_IconWin_ActivateIconPrevious);

FUNCTION Starting from the first icon currently selected, the icon which alphabetically precedes the name of the selected one will be activated. If there is no icon selected, the alphabetically last icon will be selected. If the currently activated icon is the alphabetically first one in           the window, this method will wrap around and activate the alphabetically last one.

INPUTS None

RESULT nothing

SEE ALSO SCCM_IconWin_ActivateIconNext

NAME

SCCM_IconWin_ActivateIconRight

SYNOPSIS

DoMethod(obj,SCCM_IconWin_ActivateIconRight);

FUNCTION Starting from the first icon currently selected, the icon located directly right of the selected will be activated. If there is no icon selected, or the selected icon is located in           the rightmost column, the method is a no-op.

INPUTS None

RESULT nothing

SEE ALSO SCCM_IconWin_ActivateIconDown SCCM_IconWin_ActivateIconUp SCCM_IconWin_ActivateIconLeft

NAME

SCCM_IconWin_ActivateIconUp

SYNOPSIS

DoMethod(obj,SCCM_IconWin_ActivateIconUp);

FUNCTION Starting from the first icon currently selected, the icon located directly above the selected will be activated. If there is no icon selected, or the selected icon is located in           the topmost row, the method is a no-op.

INPUTS None

RESULT nothing

SEE ALSO SCCM_IconWin_ActivateIconDown SCCM_IconWin_ActivateIconLeft SCCM_IconWin_ActivateIconRight

NAME

SCCM_IconWin_AddGadget

SYNOPSIS

DoMethod(obj,SCCM_IconWin_AddGadget,struct Gadget *g);

FUNCTION Inserts a user-supplied Intuition Gadget at the front of the internal Gadget list.

INPUTS Gadget - User-supplied Gadget

SEE ALSO

NAME

SCCM_IconWin_AddIcon

SYNOPSIS

struct ScaIconNode *icon = DoMethod(obj,SCCM_IconWin_AddIcon,       		WORD x,WORD y,BPTR Lock,CONST_STRPTR Name);

FUNCTION Causes a window task to load the specified selected icon.

INPUTS x - icon x position or $8000 for any position y - icon y position Lock - Lock on icon directory Name - icon name

RESULT icon - newly added ScaIconNode or NULL if something went wrong.

SEE ALSO

NAME

SCCM_IconWin_AddToControlBar

SYNOPSIS

DoMethod(obj,SCCM_IconWin_AddToControlBar,struct Gadget *g,       		ULONG Tag, ...);

FUNCTION Adds a new BOOPSI gadget to the window control bar.

INPUTS g - new Gadget to be added Tag - Taglist

RESULT nothing

SEE ALSO SCCM_IconWin_RemFromControlBar

NAME

SCCM_IconWin_AddToStatusBar

SYNOPSIS

DoMethod(obj,SCCM_IconWin_AddToStatusBar,struct Gadget *g,       		ULONG Tag, ...);

FUNCTION Adds a new BOOPSI gadget to the window status bar.

INPUTS g - new Gadget to be added Tag - Taglist

RESULT nothing

SEE ALSO SCCM_IconWin_RemFromStatusBar

NAME

SCCM_IconWin_Browse

SYNOPSIS

DoMethod(obj,SCCM_IconWin_Browse);

FUNCTION Opens an ASL requester that allows selection of a new path to display in the current window.

INPUTS none

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_ScheduleUpdate

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_ScheduleUpdate);

FUNCTION Schedule a check of the window for updated files and perform updates, including adding and removing icons. This real update check will be delayed for about 2 seconds in           order to avoid many rapidly repeated window updates, and is done via the SCCM_IconWin_ImmediateCheckUpdate method. These 2 seconds are restarted with each new SCCM_IconWin_ScheduleUpdate invokation.

INPUTS none

RESULT nothing

SEE ALSO SCCM_IconWin_ImmediateCheckUpdate

NAME

SCCM_IconWin_CleanUp

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_CleanUp);

FUNCTION Fits all window icons to free positions, including icons in           wt_LateIconList. Prevents icons from overlapping each other.

INPUTS none

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_CleanUpByDate

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_CleanUpByDate);

FUNCTION Sorts all window icons descending by date, and fits them to free positions, including icons in wt_LateIconList. Prevents icons from overlapping each other.

INPUTS none

RESULT nothing

SEE ALSO SCCM_IconWin_CleanUpByName SCCM_IconWin_CleanUpBySize SCCM_IconWin_CleanUpByType

NAME

SCCM_IconWin_CleanUpByName

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_CleanUpByName);

FUNCTION Sorts all window icons ascending by name, and fits them to free positions, including icons in wt_LateIconList. Prevents icons from overlapping each other.

INPUTS none

RESULT nothing

SEE ALSO SCCM_IconWin_CleanUpByDate SCCM_IconWin_CleanUpBySize SCCM_IconWin_CleanUpByType

NAME

SCCM_IconWin_CleanUpBySize

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_CleanUpBySize);

FUNCTION Sorts all window icons ascending by size, and fits them to free positions, including icons in wt_LateIconList. Prevents icons from overlapping each other.

INPUTS none

RESULT nothing

SEE ALSO SCCM_IconWin_CleanUpByDate SCCM_IconWin_CleanUpByName SCCM_IconWin_CleanUpByType

NAME

SCCM_IconWin_CleanUpByType

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_CleanUpByType);

FUNCTION Sorts all window icons ascending by type, and fits them to free positions, including icons in wt_LateIconList. Prevents icons from overlapping each other.

INPUTS none

RESULT nothing

SEE ALSO SCCM_IconWin_CleanUpByDate SCCM_IconWin_CleanUpByName SCCM_IconWin_CleanUpBySize

NAME

SCCM_IconWin_ClearIconFileTypes

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_ClearIconFileTypes);

FUNCTION Clears the filetype information for all windows in the icon window. Useful if filetype information hasd changed and has to be re-read.

INPUTS none

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_CountWBArg

SYNOPSIS

ULONG Count = DoMethod(obj,SCCM_IconWin_CountWBArg,       		struct ScaIconNode *icon);

FUNCTION Count arguments that will be crated by SCCM_IconWin_MakeWBArg. Useful to allocate a WBArg buffer for SCCM_IconWin_MakeWBArg.

INPUTS icon - icon to make WBArg from if icon = NULL, return WBArg with wa_Lock = copy of           window lock and wa_Name = NULL

RESULT Count - number of WBArg's that SCCM_IconWin_MakeWBArg will create

SEE ALSO SCCM_IconWin_MakeWBArg

NAME

SCCM_IconWin_DeltaMove

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_DeltaMove,LONG deltaX,LONG deltaY);

FUNCTION Moves window interior by (deltaX,deltaY) and adjusts scrollers accordingly.

INPUTS deltaX - movement in horizontal direction deltaY - movement in vertical direction

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_DragDrop

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_DragDrop,struct Window *dropWindow,       		ULONG mouseX,ULONG mouseY,ULONG Qualifier);

FUNCTION Drops all dragged icons into (dropWindow) at coordinates (mouseX,MouseY).

INPUTS dropWindow - Intuition window to drop in           mouseX - mouse x position from IntuiMessage mouseY - mouse y position from IntuiMessage Qualifier - qualifier position from IntuiMessage

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_DragEnter

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_DragEnter, struct ScaWindowStruct *StartWin,       		struct ScaIconNode *Icon, ULONG MouseX, ULONG MouseY)

FUNCTION Signals destination window that mouse pointer with attached icons has entered the window area (drage_Icon = NULL) or           now points to icon (drage_Icon).

INPUTS StartWin - scalos window from which dragging started Icon -icon under mouse pointer MouseX, MouseY - mouse coordinates.

RESULT nothing

NOTE It is VERY IMPORTANT that every SCCM_IconWin_DragEnter (icon           or window) is paired with a corresponding SCCM_IconWin_DragLeave method (icon or window) call !!!

SEE ALSO SCCM_IconWin_DragLeave

NAME

SCCM_IconWin_DragQuery

SYNOPSIS

BOOL DoMethod(obj,SCCM_IconWin_DragQuery, struct ScaWindowStruct *StartWin,       		struct ScaIconNode *Icon, ULONG MouseX, ULONG MouseY)

FUNCTION Check whether icons may be dropped into our window or onto specified icon.

INPUTS StartWin - scalos window from which dragging started Icon -icon under mouse pointer MouseX, MouseY - mouse coordinates.

RESULT BOOL TRUE yes, we may drop here FALSE no, dropping not allowed

SEE ALSO

NAME

SCCM_IconWin_DragLeave

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_DragLeave, struct ScaWindowStruct *StartWin,       		struct ScaIconNode *Icon, ULONG MouseX, ULONG MouseY);

FUNCTION Signals destination window that mouse pointer with attached icons has left the window area (drage_Icon = NULL) or           now points no longer to icon (drage_Icon).

INPUTS StartWin - scalos window from which dragging started Icon -icon under mouse pointer MouseX, MouseY - mouse coordinates.

RESULT nothing

NOTE It is VERY IMPORTANT that every SCCM_IconWin_DragEnter (icon           or window) is paired with a corresponding SCCM_IconWin_DragLeaveDrag method (icon or window) call !!!

SEE ALSO SCCM_IconWin_DragEnter

NAME

SCCM_IconWin_DrawIcon

SYNOPSIS

ULONG Result = DoMethod(obj,SCCM_IconWin_DrawIcon,Object *IconObject);

FUNCTION Draws (IconObject) in window by invoking IDTM_Draw method with icon

INPUTS IconObject - Icon to be drawn

RESULT Result - result from IDTM_Draw

SEE ALSO

NAME

SCCM_IconWin_GetDefIcon

SYNOPSIS

Object *icon = DoMethod(obj,SCCM_IconWin_GetDefIcon,CONST_STRPTR Name,       		LONG Type,ULONG Protection);

FUNCTION Tries to get a default icon for the specified file. Calls iconobject.library/GetDefIconObject and returns result.

INPUTS Name - file name Type - file type (fib_DirEntryType from FileInfoBlock) Protection - file protection (fib_Protection from FileInfoBlock)

RESULT icon - default Icon IconObject

SEE ALSO iconobject.library/GetDefIconObject

NAME

SCCM_IconWin_GetIconFileType

SYNOPSIS

Object *icon = DoMethod(obj,SCCM_IconWin_GetIconFileType,       		struct ScaIconNode *icon);

FUNCTION Identifies object for icon, find the appropriate filetype and setup the in_FileType member of ScaIconNode.

INPUTS icon - icon to find filetype for.

RESULT icon - default Icon IconObject

SEE ALSO iconobject.library/GetDefIconObject

NAME

SCCM_IconWin_History_Back

SYNOPSIS

Object *icon = DoMethod(obj,SCCM_IconWin_History_Back);

FUNCTION Move one step backwards in the history of the window contents, and switch to display the contents of the path from the history using the current view mode. Does nothing if the current view is already the oldest one in the window history.

INPUTS None.

RESULT None.

SEE ALSO SCCM_IconWin_History_Forward

NAME

SCCM_IconWin_History_Forward

SYNOPSIS

Object *icon = DoMethod(obj,SCCM_IconWin_History_Forward);

FUNCTION Move one step forward in the history of the window contents, and switch to display the contents of the path from the history using the current view mode. Does nothing if the current view is already the most recent one in the window history.

INPUTS None.

RESULT None.

SEE ALSO SCCM_IconWin_History_Back

NAME

SCCM_IconWin_ImmediateCheckUpdate

SYNOPSIS

Object *icon = DoMethod(obj,SCCM_IconWin_ImmediateCheckUpdate);

FUNCTION Scan directory associated to this window and check for any changes between the display and the disk contents. If any changes are found, icons are added, removed, or replaced as necessary.

INPUTS None

SEE ALSO SCCM_IconWin_ScheduleUpdate

NAME

SCCM_IconWin_LayoutIcon

SYNOPSIS

ULONG Result = DoMethod(obj,SCCM_IconWin_LayoutIcon,Object *IconObject,       		ULONG LayoutFlags);

FUNCTION Prepares an IconObject to be rendered.

INPUTS IconObject - icon to be layouted LayoutFlags IOLAYOUTB_NormalImage // Layout normal Image IOLAYOUTB_SelectedImage // Layout selected Image

RESULT Result - result from IDTM_Layout

SEE ALSO

NAME

SCCM_IconWin_MakeWBArg

SYNOPSIS

ULONG Count = DoMethod(obj,SCCM_IconWin_MakeWBArg,       		struct ScaIconNode *icon, struct WBArg *Buffer);

FUNCTION Fill a WBArg structure (wa_Lock and wa_Name) from the given icon or           from the window.

INPUTS icon - icon to make WBArg from if icon = NULL, return WBArg with wa_Lock = copy of           window lock and wa_Name = NULL Buffer - Result buffer with at least enough room for one WBArg.

RESULT Count - number of successfully created WBArg's in (Buffer)

SEE ALSO SCCM_IconWin_CountWBArg

NAME

SCCM_IconWin_MenuCommand

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_MenuCommand,CONST_STRPTR CmdName,        		struct ScaIconNode *icon, BOOL state);

FUNCTION

INPUTS CmdName - command name icon - icon to apply command to           state - ?

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_NewPath

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_NewPath,CONST_STRPTR path,ULONG tags,...);

FUNCTION Change contents in existing window to display the given new path.

INPUTS path - command name tags - tag list. Supported tags are: SCA_ShowAllMode - one of the workbench DDFLAGS_* values. SCA_ViewModes - one of the workbench DDVM_BY* values SCA_XOffset - (LONG) Window X offset SCA_YOffset - (LONG) Window Y offset SCA_IconList - (struct ScaIconNode *) pregenerated icon list

RESULT Success - FALSE on failure, TRUE to indiciate success.

SEE ALSO scalosAPI/SM_NewWindowPath

NAME

SCCM_IconWin_NewPatternNumber

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_NewPatternNumber,ULONG NewPatternNumber);

FUNCTION

INPUTS NewPatternNumber - Instruct Scalos to use a new background for the current icon window. Special constant can be specified to           use one of the predefined default patterns:

PATTERNNR_WorkbenchDefault use default Workbench window background. PATTERNNR_IconWindowDefault use default icon window background pattern. PATTERNNR_TextWindowDefault use default text window pattern.

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_NewViewMode

SYNOPSIS

Object *WindowObj = DoMethod(obj,SCCM_IconWin_NewViewMode,       		ULONG ViewMode);

FUNCTION changes window view mode from text to icon and vice versa.

INPUTS ViewMode - new window view mode

RESULT WindowObj - IconWindow.sca subclass object if window class changes from text to icon or vice versa NULL if window class is not changed.

SEE ALSO

NAME

SCCM_IconWin_Open

SYNOPSIS

BOOL Success = DoMethod(obj, SCCM_IconWin_Open, struct ScaIconNode *icon, ULONG Flags);

FUNCTION perform "open" function on (icon)

INPUTS icon - icon to open Flags - ICONWINOPENF_IgnoreFileTypes -- always OPEN icon, ignore file type settings. ICONWINOPENF_NewWindow -- open drawers in new window, regardless of browser mode.

RESULT Success - TRUE if new window could be opened FALSE if anything went wrong

SEE ALSO

NAME

SCCM_IconWin_RawKey

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_RawKey,struct IntuiMessage *iMsg);

FUNCTION Processes Intuition IDCMP_RAWKEY events.

INPUTS iMsg - IntuiMessage

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_ReadIcon

SYNOPSIS

struct ScaIconNode *icon = DoMethod(obj,SCCM_IconWin_ReadIcon,       			CONST_STRPTR name, struct ScaReadIconArg *ria);

FUNCTION Read one icon, add it to the window icon list, and display it. If an icon with the same name already exists it is replaced. If no icon could be created, i.e. because the file system object is no longer present, any existing icon is removed from the window. The intended use of this method is to update icon window after change in file system, i.e. add file, remove file, or change file.

INPUTS name - name of the icon ria - pointer to struct ScaReadIconArg with information about x/y icon position, and optional Lock on parent directory. ria may be NULL.

RESULT icon - newly created ScaIconNode or NULL if something went wrong.

SEE ALSO

NAME

SCCM_IconWin_ReadIconList

SYNOPSIS

BOOL Error = DoMethod(obj,SCCM_IconWin_ReadIconList,ULONG flags);

FUNCTION Read all icons in directory into window.

INPUTS flags - SCCV_IconWin_ReadIconList_ShowAll = show all files

RESULT Error - non-zero value if anything went wrong

SEE ALSO

NAME

SCCM_IconWin_Redraw

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_Redraw,ULONG flags);

FUNCTION redraws window

INPUTS flags REDRAWB_DontEraseWindow : don't erase window before redraw REDRAWB_ReLayoutIcons : relayout icons REDRAWB_DontRefreshWindowFrame : do not refresh window frame

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_RemIcon

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_RemIcon,BPTR Lock, CONSTR_STRPTR Name);

FUNCTION Remove specified icon from window

INPUTS Lock - Lock on icon directory Name - Name of icon to remove

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_RemFromControlBar

SYNOPSIS

DoMethod(obj,SCCM_IconWin_RemFromControlBar,struct Gadget *g);

FUNCTION Remove specified Gadget from window control bar, and disposes it.

INPUTS g - Gadget to remove from control bar

SEE ALSO SCCM_IconWin_AddToControlBar

NAME

SCCM_IconWin_RemFromStatusBar

SYNOPSIS

DoMethod(obj,SCCM_IconWin_RemFromStatusBar,struct Gadget *g);

FUNCTION Remove specified Gadget from window status bar, and disposes it.

INPUTS g - Gadget to remove from status bar

SEE ALSO SCCM_IconWin_AddToStatusBar

NAME

SCCM_IconWin_SetVirtSize

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_SetVirtSize,ULONG Flags);

FUNCTION Calculate bounding rectangle of all icons in window and optionally adjust window scrollers accordingly.

INPUTS Flags SETVIRTF_AdjustRightSlider = adjust right (vertical) slider SETVIRTF_AdjustBottomSlider = set bottom (horizontal) slider

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_ShowIconToolTip

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_ShowGadgetToolTip, ULONG gadgetID);

FUNCTION Display tool tip window for (gadgetID).

INPUTS gadgetID - GadgetID of gadget to display tool tip for.

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_ShowIconToolTip

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_ShowIconToolTip,       		struct ScaIconNode *icon);

FUNCTION Display icon tool tip window for (icon).

INPUTS icon - icon to display tool tip for.

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_Sleep

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_Sleep);

FUNCTION Iconify window and add AppIcon to Workbench.

INPUTS none

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_StartNotify

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_StartNotify);

FUNCTION Cancel any existing drawer notification for this window, and install a new notification.

INPUTS none

RESULT Success - TRUE if notification successfully started, FALSE on failure.

SEE ALSO

NAME

SCCM_IconWin_Update

SYNOPSIS

DoMethod(obj,SCCM_IconWin_Update);

FUNCTION Re-read all icons into window and redraw window.

INPUTS none

RESULT ?

SEE ALSO

NAME

SCCM_IconWin_UpdateIcon

SYNOPSIS

DoMethod(obj,SCCM_IconWin_UpdateIcon,BPTR Lock,CONST_STRPTR Name);

FUNCTION Update and redisplay icon.

INPUTS Lock - Lock to icon directory Name - name of icon

RESULT ?

SEE ALSO

NAME

SCCM_IconWin_UpdateControlBar

SYNOPSIS

DoMethod(obj,SCCM_IconWin_UpdateControlBar,struct Gadget *g,ULONG Tags,...);

FUNCTION Update window control bar member gadget. Applies OM_SET method with the supplied taglist to member gadget.

INPUTS g - Control bar member gadget to update Tags - Taglist

SEE ALSO

NAME

SCCM_IconWin_UpdateStatusBar

SYNOPSIS

DoMethod(obj,SCCM_IconWin_UpdateStatusBar,struct Gadget *g,ULONG Tags,...);

FUNCTION Update window status bar member gadget. Applies OM_SET method with the supplied taglist to member gadget.

INPUTS g - Status bar member gadget to update Tags - Taglist

SEE ALSO

NAME

SCCM_IconWin_WakeUp

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_WakeUp,ULONG ReLayout);

FUNCTION Uniconify and open iconified window.

INPUTS ReLayout - TRUE if all icons of the window should be relayouted

RESULT nothing

SEE ALSO

NAME

SCCM_IconWin_ShowPopupMenu

SYNOPSIS

void DoMethod(obj,SCCM_IconWin_ShowPopupMenu,       		struct PopupMenu *pm, struct ScaIconNode *in,         		ULONG Flags, struct FileTypeDef *fType);

FUNCTION Show a popup menu and execute the user's menu command.

INPUTS pm - Popup menu to display. in - Scalos icon node the popup menu should be associated to. Can be NULL for window popup menus. Flags - Show which items are still locked and HAVE TO BE UNLOCKED during processing. SHOWPOPUPFLGF_IconSemaLocked - wt_IconSemaphore is still locked SHOWPOPUPFLGF_WinListLocked - Scalos window list is still locked. fType - Private data structure for support of file type specific popup menus. Should be NULL if unused.

RESULT nothing

SEE ALSO

textwindow
--background SCCM_TextWin_BeginUpdate SCCM_TextWin_DrawColumnHeaders SCCM_TextWin_EndUpdate SCCM_TextWin_InsertIcon SCCM_TextWin_ReAdjust

NAME

--background

DESCRIPTION This class implements the text-only Scalos windows. Most functionality is derived from IconWindow.sca but there are some special methods described below.

NAME

SCCM_TextWin_BeginUpdate

SYNOPSIS

DoMethod(obj,SCCM_TextWin_BeginUpdate);

FUNCTION hold all visible updates until SCCM_TextWin_EndUpdate

INPUTS none

RESULT nothing

SEE ALSO SCCM_TextWin_EndUpdate

NAME

SCCM_TextWin_DrawColumnHeaders

SYNOPSIS

DoMethod(obj,SCCM_TextWin_DrawColumnHeaders);

FUNCTION Redraws text window column headers.

INPUTS nothing

RESULT nothing

SEE ALSO

NAME

SCCM_TextWin_EndUpdate

SYNOPSIS

DoMethod(obj,SCCM_TextWin_EndUpdate,ULONG RefreshFlag);

FUNCTION Unlock window updates and optionally rebuild window contents.

INPUTS RefreshFlag - if TRUE, forces window to perform SCCM_TextWin_ReAdjust.

RESULT nothing

SEE ALSO SCCM_TextWin_BeginUpdate

NAME

SCCM_TextWin_InsertIcon

SYNOPSIS

DoMethod(obj,SCCM_TextWin_InsertIcon,struct ScaIconNode *in);

FUNCTION The ScaIconNode is inserted into the text window icon list, according to the current sorting order. If an icon with the same name already exists, it is replaced.

INPUTS in - ScaIconNode which is to inserted into the sorted icon list if the text window.

RESULT nothing

NAME

SCCM_TextWin_ReAdjust

SYNOPSIS

void DoMethod(obj,SCCM_TextWin_ReAdjust);

FUNCTION Rebuilds text window. Entries are re-sorted, all column headers and text gadgets are redrawn and the scrollers are adjusted.

INPUTS none

RESULT nothing

SEE ALSO

title
--background SCCM_Title_Generate SCCM_Title_Query SCCM_Title_QueryTitle SCCM_Title_Translate

NAME

--background

DESCRIPTION This class implements the screen title and window title functionality.

TAGS SCCA_Title_Format (CONST_STRPTR) -- Format string for the title. This string is processed, replacing all the "%" variables with their values.

Standard title variables:

"%os" Kickstart release (e.g. "3.1") "%wb" Scalos release (e.g. "1.3") "%ov" Kickstart version (e.g. "40.68") "%wv" Scalos version (e.g. "40.6") "%fc" * Free chip RAM in bytes "%ff" * Free fast RAM in bytes "%ft" * Total free RAM in bytes "%pa" Window's path "%df" * Free disk space in bytes "%DF" Free disk space, displayed in GBytes/MBytes/KBytes "%du" * Used disk space in bytes "%DU" Used disk space, displayed in GBytes/MBytes/KBytes "%d(" start: don't show if no disk inserted           "%d)" stop: don't show if no disk inserted "%dp" percentage of disk space used "%cs" Chip set "%cp" Processor "%pr" CoProzessor "%nt" number of tasks "%nl" number of libraries "%np" number of message ports "%nd" number of devices "%ns" number of screens

Variables marked with "*" may optionally immediately be followed by a scaling modifier "0" .. "6" :           0 Values is displayed in bytes. 1 Values is displayed in KBytes. 2 Values is displayed in MBytes. 3 Values is displayed in GBytes. 4 Values is displayed in TBytes. 5 Values is displayed in PBytes. 6 Values is displayed in HBytes.

Applicability is (IS).

SCCA_Title_Type (ULONG) -- type of title

SCCV_Title_Type_Screen -- Screen title (default) SCCV_Title_Type_Window -- Window title

Applicability is (I).

NAME

SCCM_Title_Generate

SYNOPSIS

STRPTR GeneratedTitle = DoMethod(obj,SCCM_Title_Generate);

FUNCTION Parses internal TitleFormat string and generates ready-to-use title text in internal buffer.

INPUTS -

RESULT GeneratedTitle - String pointer to generated title

SEE ALSO

NAME

SCCM_Title_Query

SYNOPSIS

BOOL NeedRefresh = DoMethod(obj,SCCM_Title_Query, UWORD ParseID);

FUNCTION Check whether variable text has changed and needs to be refreshed.

INPUTS ParseID - contains the two-character variable name, e.g. "os"

RESULT NeedRefresh - non-zero value if title string has changed, i.e.           needs to be refreshed.

SEE ALSO

NAME

SCCM_Title_QueryTitle

SYNOPSIS

BOOL NeedRefresh = DoMethod(obj,SCCM_Title_QueryTitle);

FUNCTION Check whether title has changed and needs to bed refreshed.

INPUTS -

RESULT NeedRefresh - non-zero value if title string has changed, i.e.           needs to be refreshed.

SEE ALSO

NAME

SCCM_Title_Translate

SYNOPSIS

BOOL Success = DoMethod(obj,SCCM_Title_Translate, STRPTR Buffer,        		CONST_STRPTR TitleFormat, UWORD ParseID, UWORD Length);

FUNCTION Processes one title format variable and generates expanded text into buffer provided by caller.

INPUTS Buffer - Pointer to a buffer where the expanded text will be stored. This pointer gets updated during method execution !! TitleFormat - pointer into title format string, immediately after the variable name. This pointer gets updated during method execution !! ParseID - contains the two-character variable name, e.g. "os" Length - The number of bytes that fit into Buffer. Beware of writing more than (Length) Bytes into Buffer!

RESULT Success - a non-zero value indicates translation was successful. a zero value signals some kind of error (e.g. unknown           ParseID or insufficient Length).

SEE ALSO

History
Additions/changes:

40.32	20040917	JL	- Bugfix: simple-refresh window redraw failed when issueing some menu commands, e.g. "open parent". 20040908	JL	- Bugfix: renaming left-out icons sometimes caused random memory to be trashed. fixed. - Bugfix: renaming left-out icons caused Scalos processes to hang due to semaphore deadlocks. - Bugfix: cured semaphore deadlock that sometimes occured when automatic window update collided with some user action, e.g. opening a popup menu. 20040828	JL	- Bugfix: with TrueType fonts, having one softlink in a text window caused all entries to be displayed underlined. - Added new internal commands "iconproperties" and "windowproperties" (Requires iconproperties.module 				 and windowproperties.nodule). - Bugfix: drag&drop left garbage on screen if custom bob routines were used and "special" bob (e.g. "forbidden" 				 or "copying") was visible and was larger than main bob. 20040716	JL	- Added new qualifier during D&D to force moving of file system objects (instead of copying). - Implemented the long-planned "Create link" on D&D feature. - Bugfix: default icons were not shown transparent if D&D "real transparency" wasn't turned on. 20040625	JL	- When copying icons, the "replace all", "skip all", and "abort" buttons of the overwrite request didn't work. 20040612	JL	- Automatic update of windows caused enforcer hit and crashes if the modified files containes special pattern-matching characters in their names (e.g. "[]#?|"). 20040602	JL	- Fixed long-standing bug that caused Scalos to lockup when an icon was selected while a new window was initially reading its icons. - About dialog sometimes opened with maximum screen width, but without any contents in the scrolling field. Fixed. 20040527	JL	- Closing an icon window while it was initially reading its directory caused Enforcer hits and crashed Scalos. Fixed. 20040523	JL	- Added TrueType font support. TT Fonts can be used for icons, text windows, tooltips, and the "About" window. 20040519	JL	- Menu selection "leave out" (not from popup menu) caused enforcer hits when issued from "View all" text window. Fixed. 20040425	JL	- Added CRC checks over prefs files. Now writing a prefs file only causes re-reading of prefs and reinitialization if file contents has actually changed. 20040424	JL	- Disk Read-Only status display is now updated when disk is inserted. 20040419	JL	- Icons without associated object were displayed incorrectly after window update. Fixed. - Bumped revision to 40.32.

40.31	20040322	JL	- Default icons were not recognized on main window. This bug could show up after dragging default icons from some drawer window onto the desktop. 20040221	JL	- Improved caching of filetype descriptors. With "env-handler", all filetypes were flushed from cache whenever a new filetype was loaded from ENVARC: to ENV:. 20040216	JL	- Internal command "reset" didn't work correctly. Fixed. 20040214	JL	- Icons were not updated correctly after change of file comment of rename with change of case only (e.g. "amiga" to "Amiga"). 20040211	JL	- Icon selection marks for popup menu could be drawn in 				 incorrect window when "Apply to every selected icon" is enabled. - Fixed various problems with left-out icons (different 				 icons with same name were not handled correctly, 				  left-out icons were not updated as intended). 20040210	JL	- "Mac-like selection" was broken. Fixed. 20040206	JL	- "Snapshot window" didn't work if there was no icon present for window. 20040126	JL	- Main window didn't allow multiple icons with same name (e.g. left-out icons from different paths). Fixed. - Bumped revision to 40.31.

40.30	20040123	JL	- In "view all" text windows, "Leave out" icon "xxx" now removes both "xxx" and "xxx.info" from text window, and "Put away" causes both entries to reappear. - Now text window SCCM_IconWin_ReadIcon method correctly handles increase in column width. - All "cleanup**" menu commands are now disabled in text windows. - Fixed enable/disable state of "leave out" and "put away" menu commands for "view all" text windows. - "selectall" menu command is now disabled if all icons are selected. - "clearselection" menu command is now disabled if no icon is selected. 20040122	JL	- Text windows now automatically update object associated entries if an icon is removed or added. 20040118	JL	- Fixed internal locking during reading and parsing of Scalos filetypes descriptions. - AppIcons no longer can get "Default Icon" attribute. 20040111	JL	- Default icons may be drawn with adjustable degree of transparency. - Added support for MorphOS-style iconify gadgets. This fixed any visual distortion of iconify Gadgets under MorphOS. 20040109	JL	- When loading default icons, Scalos now adds information about the original object (Path+Name) for usage by the iconobject datatypes. 20040105	JL	- Made icon dd_Flags handling more flexible, so OS3.9 CD 				 drawers open with correct viewmodes (WB handles 				  invalid values of "3" like DDFLAGS_SHOWALL). - Scalos didn't handle default icons from icon drawer (e.g. def_drawer.info) correctly. Without separate DefIcons installed, only the icon.library built-in icons were used. 20040104	JL	- Added "skip all" gadget to standard copy/move "replace" dialog. - Fixed enforcer hits/crashes when starting Scalos while Scalos is already running. - Added new ScalosControlA tags SCALOSCTRLA_GetCopyBuffSize and SCALOSCTRLA_SetCopyBuffSize. 20040101	JL	- Added preferences item to set default stack size. - FileTypes code assumed that popupmenu.library was open, leading to crashes on machines where that library was not installed. - Bumped revision to 40.30. 40.29	20031230	JL	- Added full support for alpha channel icon drawing, including drag&drop ("Custom" bob routines only). - Memory for default action in filetype descriptions was freed while not in use. Fixed. - Filetype descriptions are now cached, in order to improve performance. - Starting WB programs left 2 locks dangling. Fixed. 20031226	JL	- updated "%os" title function to recognize OS 3.5 and OS 3.9. - Made localizable string for "BUSY" disks. - Popupmenu items now show default action (the action 				 that is taken upon double-click) in bold text. 20031222	JL	- Optimization of Drag-and-Drop bobs was broken, leading to very sluggish drawing of bobs when dragging multiple icons. 20031208	JL	- Changed directory for Scalos filetype descriptors from "Scalos:FileTypes/" to "ENV:Scalos/FileTypes/". For compatibility, Scalos still looks in the old place if the new directory cannot be found. 20031202	JL	- In Text window, icon update erroneously changed type from "WBGARBAGE" to "WBDRAWER". 20031117	JL	- Fixed incorrect update of icons in text windows in "view all" mode. 20030727	JL	- To provide a visual hint that popup menu commands only apply to the icon under the pointer, all other selected icons are temporarily deselected while the popup menu is open. - Added keyboard qualifier to apply popup menu commands to 				 every selected icon, instead of only the icon under the mouse pointer. 20030711	JL	- Fixed long delay upon startup when splash window was turned off. - Bugfix: selecting an icon in one window, then changing to another window, and hitting "enter" caused Scalos to crash with "invalid semaphore state" errors. 20030628	JL	- Fixed several memory leaks associated with filetype-dependent popup menus and tooltips. 20030618	JL	- In Window popup menus, "view by text/name" never displayed a checkmark. 20030616	JL	- Drawers opened from text view windows did not correctly inherit the "view all" attribute. - Corrected minor typo in About window "100%" was lacking the percent sign. 20030615	JL	- Bumped revision to 40.29.

40.28	20030612	JL	- Major improvement in text view window update - now works the same way as icon window update, only the changed items are redrawn. 20030531	JL	- Bugfix; In text view windows, it was erronously possible to "snapshot" and "unsnapshot" icons. 20030529	JL	- Bugfix: In text view windows, no file comments were displayed. 20030525	JL	- In text view windows, Scalos had problems recognizing default tool entries for project icons. Fixed. 20030517	JL	- Text icon IDTA_Type returned wrong icon type for WBGARBAGE (Trashcan) icons. 20030502	JL	- Major improvements to SCA_OpenIconWindow. Now Scalos tries hard to find the appropriate icon for the window to be opened. If an icon is to be found, the window settings are taken from the icon. 20030423	JL	- Text windows didn't recognize window resize events during reading of icons. Fixed. 20030421	JL	- Rewrote context-sensitive disabling of menu items. 20030420	JL	- Added requester to ask user what to do when a project icon without default tool is encountered. - Added Polish catalog to developer archive, translation by Paweî Szczodry. 20030418	JL	- Fixed file count routine in filetransclass. The bug caused incorrect calculation of total byte/item count and lead to display of more than 100% completion with nonsense values for "remaining time". - Removed display of every single item copied in filetrans copy/move requester. This optimization greatly improved copying speed. 20030327	JL	- Added new method "SCCM_FileTrans_OverwriteRequest" for FileTrans.sca class. 20030301	JL	- Bugfix: Filetype wasn't set correctly for trashcan. - Bugfix: AsyncWB hook wasn't called correctly for "Empty Trashcan". 20030218	JL	- Bugfix: Program name wasn't handed over to execute_command.module on icon double-click. 20030216	JL	- Bugfix: Improved window clipping, now application-drawn AppIcons no longer draw across non-backdrop Workbench window border. 20030211	JL	- Bugfix: When a drawer window was created in iconified state, it could not be uniconified by double-clicking its parent drawer. 20030208	JL	- Bugfix: In 40.27, WBStartup execution of ARexx type icons was broken. Fixed. - Feature: Added display of estimated remaining time to file copy/move progress dialog. - Bumped revision to 40.28. 40.27	20030130	JL	- Bugfix: Window backfill pattern re-layout didn't occur when "backdrop" was turned on and off. 20030129	JL	- Bugfix: fixed enforcer hits/crashes during window zoom/resize when "always relayout" was enabled (code 				 tried to use ptn_bitmap after FreeBitMap). 20030126	JL	- Bugfix: added locking mechanism for asynchronous backfill to avoid crashes when windows are closed while async backfill process hasn't finished. 20030118	JL	- Bugfix: fixed enforcer hits when CLI project icon contained no default tool. - Improvement: Program list now contains full path for each program started instead of only program name. - New feature: Added SCA_ScalosControl subcommand to get/free list of menu commands. 20030111	JL	- Bugfix: Cut+Paste didn't work when AsyncWB was installed. Fixed. - New features: Added new FONT and VALIGN attributes to TOOLTIP STRING. - Bumped revision to 40.27. 40.26	20030104	JL	- Bugfix: "about" produced 2 enforcer hits when no Scalos logo found. - Bugfix: Splash resizing / text positioning was broken when no Scalos logo was found. - Bugfix: window process hung when one of the standard modules could not be started. 20030103	JL	- Bugfix: Snapshotting a window which had no icon created an ".info" instead of an icon with the drawer's name. - Bugfix: Windows with virtual width or height > 32768 could produce problems from graphical screen corruption to system crash. 20030102	JL	- New feature: Icon tooltips can now be user-defined in the file type description files. Scalos now supports file type information plugins, e.g. to display size information about image files. 20021221	JL	- Bugfix: During file copy operations, icons could be overwritten without warning. 20021209	JL	- Bugfix: TextInputHook wasn't used to run program without icon - instead always execute_command.module was called. - Bugfix: automatic disabling didn't work for some main menu items (e.g. "sizetofit" didn't get disabled 				 in backdrop root window). - Bumped revision to 40.26. 40.25	20021206	JL	- Added "viewbytype", "cleanupbyname", "cleanupbydate", "cleanupbysize", and "cleanupbytype" menu commands. 20021205	JL	- Fixed Enforcer hits which occured when an ARexx program ended that had been started from an icon window, and the icon window had been closed. 20021130	JL	- Added support for cyling through icons in window via TAB key. - Rebuilt about window code to make use of the TT layout engine. - Fixed bug in SCA_SortNode - lists with less than 3 entries were not sorted. 20021116	JL	- Fixed broken close-window abort recognition during GenerateIcons icon drawing in window. 20021019	JL	- The user-defined path for default icons was never used for iconified Scalos window icons. Now it is taken as fall-back if there are no theme-specific icons. 20021018	JL	- Changed sizing method for splash window. 20021014	JL	- Added new methods SCCM_AddToClipboard and SCCM_ClearClipboard to root class. 20021013	JL	- Copy/paste didn't work for volumes/disks. Fixed. - Fixed another source for erroneous error messages during SCCM_FileTrans_Copy and SCCM_FileTrans_Move operations. 20021009	JL	- Changes in icon font were not recognized in desktop window. Fixed. - The menu "copy" and "paste" commands trashed the destination file name. Fixed. 20021008	JL	- Fixed some enforcer hits and crashed when selecting some device icons, and then pressing "enter" twice. 20021006	JL	- Changed location of icons for iconified Scalos window from "ENV:Sys/def_iconify" to "THEME:window/def_iconify". - LoadWB.scalos now waits until Scalos opens its first window on the Workbench screen before exiting. - Now Scalos first tries to load deficons from "THEME:DefIcons/". If that fails, the standard path "ENV:Sys/" is used. 20021003	JL	- Now uses "titlebarimageclass" for iconify image if available. - changed all makefiles to work with GNU make. - Bumped revision to 40.25. 40.24	20021003	JL	- Fixed broken ARexx menu command support. 20021003	JL	- Major improvement of Tooltip layout engine. - Added tooltips for several Scalos gadgets, including the status bar images. 20020929	JL	- Fixed menu bug where every menu item got a hotkey mark. Now only the menu items which have got hotkeys are shown with hotkey marks. - Icon positions were messed up during "cut", "copy" and "paste" operations. Fixed. - Changed file name for default device icons from ".info" to "def_.info" in order to match OS3.9 behaviour. - Changed file name for default volume icons from ".info" to "def_.info" in order to match OS3.9 behaviour. - Added missing SHADOWPEN vertical line to the left of the window iconify image. - The assign "THEME:" isn't touched any more if it exists prior to Scalos startup. - The assign "Scalos:" is created (pointing to PROGDIR:) on startup if it doesn't exist. - Tooltips are no longer displayed if ICandy == 0. - Bumped revision to 40.24. 40.23	20020928	JL	- Improved handling of "cut" icons (shadowed display got 				 corrupted). Needs iconobject.datatype 40.7. 20020926	JL	- Fixed bug that caused Scalos to crash when an icon was removed during Drag&Drop (e.g. an AppIcon was 				 removed by its application). 20020923	JL	- Changed default setting for icon frame type from MF_FRAME_BUTTON to MF_FRAME_NONE. 20020921	JL	- Moved special pointer icons ("forbidden", "copying", 				 "makelink") from ENV:Scalos/ to THEME:PointerIcons/. 20020915	JL	- Environment variable "scalos/icandy" is recognized if set before Scalos startup. ATM, icandy < 2 turns off splash screen and window status bars. If not set, "Scalos/icandy" gets set with a default value of "2". 20020914	JL	- Changing "Fullbench" and "Poptitle" now works on-the-fly and doesn't require rebooting anymore. - Locale (language) preferences can now be changed on-the-fly, no reboot required anymore. 20020913	JL	- Fixed erronous message "This drawer cannot be opened" when trying to open a drawer which is already open. 20020831	JL	- Icon position now always is set to NO_ICON_POSITION for default icons loaded via DefIcons. 20020825	JL	- Changed default for Workbench "backdrop" to TRUE. - Changed tool tip placement - now tool tips are displayed below mouse pointer if space allows. 20020822	JL	- Added optional process priority field for filetype specific popup menu commands. 20020817	JL	- Bugfix in FileCommands.c: since ExNext result ERROR_NO_MORE_ENTRIES was erronously remembered as				 error, an incorrect error reason could be displayed when a "real" error occured. - Bumped revision to 40.23. 40.22	20020812	JL	- Bugfix with "Show All" windows: icon list was read before window was opened, leading to problems with icon layout (invisible icons). 20020803	JL	- Fixed problems with file type-specific popup menus and STACK parameter. 20020801	JL	- Finished conversion of Scalos Pattern Prefs from ASM to C.	20020720	JL	- First implementation of new filetype-specific popup menu system. - Removed obsoleted scalos.library function SCA_RemapBitmap. 20020711	JL	- CheckMouseIcon didn't take window borders into account, i.e. clicking on window border could cause icon to be selected. 20020703	JL	- Text icon font changes now take effect immediately, Reboot is not required anymore. 20020624	JL	- Fixed problem in wbl.c - spawned processes incorrectly inherited the ConsoleTask pointer. 20020623	JL	- Now SCCM_IconWin_Redraw also refreshes window frame and status bar. 20020622	JL	- Added image "THEME:Window/StatusBar/ShowAll" to status bar, which visualises the "Show All Files" window setting. 20020612	JL	- Fixed bug introduced by optimized pen allocation. 20020601	JL	- Improved pen allocation in LockScalosPens - pens which are members of dri_Pens are no longer allocated a second time. - Upon startup, Scalos should give a warning Requester if not all defined pens could be allocated. 20020529	dm	- Finished converting cleanup code to C.	20020526	JL	- Fixed bug in the scalos.library expunge code which was trying to FreeMem an incorrect library base pointer when quitting Scalos. - When "quit Scalos" is requested, memory is flushed before checking scalos.library open count, so unused libraries still resident in memory no longer prevent Scalos from closing. - Added optional background image for tooltips "THEME:TooltipBackground". - Added optional background image for window status bar "THEME:Window/StatusBar/Background". - Added forgotten "PDTA_DestMode, PMODE_V43" in about.c and GadgetBarImageClass.c. Now the entries for the Scalos processes in "PicTD" prefs are no longer required. 20020525	JL	- Fixed a serious bug in the new C SCA_MoveNode function which caused Scalos to crash when trying to "cleanup" a window which had already been cleaned up. 20020513	JL	- Fixed an icon drag bug: When an icon was clicked with LMB and the mouse button held for several seconds without moving the icon, a DisplayBeep was triggered when the mouse button was released. 20020504	JL	- Many minor changes to allow Scalos to cpiled with GCC. - Replaced handmade CLI startup detaching code by standard cback.o and detach.o mdoules. 20020414	JL	- Corrected error in scalos_lib.sfd - order of parameters for SCA_WBStartTags was incorrect. 20020412	JL	- When icons were selected purely via keyboard, the "IconActive" variable was not updated and selected icons could not be opened by pressing "return". - When trying to open an disk/drawer icon via wb39/ARexx, under certain circumstances the Scalos main task could hang, waiting for a message reply. Fixed. 20020405	JL	- When prefEnableSplash was turned off after splash window has opened, the splash window never closed. Fixed. - After removing an entry from the hidden device list, that device used to appear multiple times on the Scalos screen. Fixed. 20020404	JL	- When AppIcon was replaced via AppChange, Scalos tried to free invalid memory while removing AppIcon. Fixed. 20020403	JL	- ScalosMain was called with seglist in d1 instead of 				 d0, leading to enforcer hits or crash on exit when started from workbench via icon double-click. - Bumped revision to 40.22. 40.21	20020402	JL	- Fixed lockup problem when a window opened or closed during drag/drop operations. 20020329	JL	- Fixed problem in scalos library code - Expunge never got called. - Fixed init problem with prefTextModeTextAttr.ta_Name, after unsuccessful startup, Scalos tried to FreeVecPooled static string. - Added safeguard to AllocVecPooled and FreeVecPooled against being called with MemPool of NULL. 20020309	JL	- SCCM_DeviceList_Generate now works fully asynchronous way, avoiding most sources of hangs connected to weird file systems. 20020212	JL	- Finished converting Scalos startup and shutdown code to C.	20020209	JL	- DefIcons support now integrated into Scalos, including automatic reload of DefIcons.prefs after external changes. Filetypes.plugin and Deficons.plugin are now obsolete. 20020204	JL	- Programs started by Scalos were never removed from the internal program list. Fixed. 20020203	JL	- Now displays message on screen title when user tries to double-click a drawer icon without associated directory. 20020202	JL	- ToolTip sometimes didn't show used/total/percent correctly for disk icons. Fixed. - Bumped revision to 40.21. 40.20	20020201	JL	- Dragged icons were corrupted on screens with interleaved bitmaps. Fixed. - Dragging icons with text didn't always work, depending on icon text colour settings. Fixed. 20020127	JL	- UnSnapshot function was thoroughly broken - Should now again work as expected. 20020126	JL	- Now supports adding submenus and new menus via SCA_NewAddAppMenuItem. - The Rename patch now tries to update (i.e. remove) the old object's icon. - CopyCommand now quietly returns OK if source of copy operation cannot be found, so copying of orphan icons (icons w/o associated objects) should work now. 20020125	JL	- Plugged memory leak when reloading menu prefs. - Bumped revision to 40.20. 40.19	20020121	JL	- Snapshot/Unsnapshot didn't free Lock on icons. Fixed. - Unsnapshot failed to move icon to wt_LateIconList. Fixed. 20020119	JL	- ReLayoutIcons forgot to update IDTA_TextPenShadow and IDTA_TextPenOutline pens. Fixed. - SCA_ScreenTitleMsg was broken and couldn't display the last message. Fixed. 20020115	JL	- Fixed problem in DragDropBobs.c : newiconobject.library didn't return image mask for special icons because IDTM_Layout was only called for normal image and IDTM_Mask_Selected was requested. Fixed. 20020114	JL	- Fixed problem with MOS and SameLock NULL Locks in Functions.c. Now it should be possible to open SYS: volume. - Bumped revision to 40.19. 40.18	20020113	JL	- Undid most changes in DragDropBobs.c from 40.17. Now frames around icons work in a more compatible way, together with 40.2 icon datatypes. 20020109	JL	- Commands "rename", "execute", "newdrawer" now support global TextInputHook. 20020107	JL	- Built .sfd files for all Scalos components. All pragma and proto includes and .fd files are now created from those .sfd files. 20020106	JL	- Several window backfill functions didn't check properly for non-existing background images (FileTransfer, 				 Splash). Fixed. - INF_File was not set for text icons when file system returned non-standard fib_DirEntryType. Now INF_File is always set if fib_DirEntryType < 0. - The PenArray delivered by the workbench OpenScreen patch always contained -1 in the first entry, rendering it pretty useless. Fixed. - Adapted to now (NDK3.9) officially supported Workbench hooks (CopyHook, DeleteHook, SetupCleanupHook). - Now requires includes Release 45.1 to compile. - "Empty Trash" menu command now uses DeleteHook if available. - The PenArray delivered by the workbench OpenScreen patch always contained -1 in the first entry, rendering it pretty useless. Fixed. 20020105	JL	- When changing icon attributes (e.g. border), AppIcons didn't get refreshed properly. Fixed. 20020104	JL	- Automatic icon update on file system notification didn't work properly for left-out icons. Fixed. - Bumped revision to 40.18. 40.17	20020101	JL	- Added separate pens for selected icon text, icon text outline, and icon text shadow. 20011231	JL	- Several changes in DragDropBobs.c to enable frames around masked icons. Requires latest icon datatypes!!! 20011229	JL	- Device icons got a name of "" (empty string) when tool type SCALOS_NOTEXT was found, whereas other icons got NULL. Fixed. 20011228	JL	- When Scalos tries to quit and there were still foreign windows on WB screen, a retry requester occurs. After clicking "Retry", Scalos tried to free PenShareMap more than once. Fixed. 20011225	JL	- Non-DOS disk icons are now ghosted (just like WB3.9). - Many menu items (e.g. "Open", "Information") are now disabled for non-DOS disks. - Unreadable disks are now labeled as "DF0:Unreadable" instead of "DF0:????". 20011221	JL	- OpenWorkBench return ULONG instead of Workbench screen address in case of success. Fixed. - Window status bar text now always uses text window font. 20011215	JL	- Many changes and fixes in FileCommand.c (File 				 moving/copying code). Moving objects to a different volume (copy-and-delete) now works. 20011214	JL	- Added timeout (default=10s) to file transfer counting. - Added Win***s-like "Copy", "Cut", "Paste" menu commands to transfer files. 20011213	JL	- Added workaround kludge for broken "delete.module" implementations that rely on wa_Name being empty for directories. - Fixed a memory trashing bug in CLIStart. Only occured when file name was longer than default tool name. 20011212	JL	- LeaveOutIcon trashed the CurrentDir of the Scalos window task. Fixed. - Scalos window tasks now have their directory namess appended to the task name, e.g. "Scalos_Window_Task ". - (old) SCA_RemoveAppObject failed to remove icons in 				 wt_LateIconList, leading to crashes with MUI applications on CloseWorkBench/OpenWorkBench. Fixed. - Added new pen for status bar text. 20011208	JL	- Popup menus now can also be opened by keyboard (Right Alt +Right Amiga). - SCCM_IconWin_CheckUpdate did not recognize changes between default icon and non-default icon (e.g. an icon				 associated to an object was deleted - display didn't 				  change). Fixed. - Added optional THEME:FileTransBackground background image to copy/move progress window. - Display of window drop marks is now settable into 3 modes - none, non-backdrop windows only, always. - Added GBTDTA_SoftStyle to set text style for GadgetBarTextClass gadgets. - Bumped revision to 40.17. 40.16	20011207	JL	- Scalos.c/RefreshTextWindow didn't check if window exists. Fixed. - Scalos.c/ReportError didn't propagate RESULT_UserAborted if the user clicked the "Abort" button. Should be fixed now. - Major rewrite of FileTransfer class. Redesigned copy/move progress window with progress gauge and cancel button. 20011205	JL	- Fixed another bug in window backfilling - filled area was exactly 1 pixel too small in x- and y-direction. - With window scrollbar arrows, the detection of shift key was reversed. Fixed. - Changed scrolling step for window scrollbar arrows to 10 pixel. 20011204	JL	- Added SCCM_IconWin_AddToStatusBar, SCCM_IconWin_RemFromStatusBar, and SCCM_IconWin_UpdateStatusBar methods to make status bar interfacing easier. - More changes in OpenWorkBench / CloseWorkBench. Now also uses icon.library V44+ ICONCTRLA_SetGlobalScreen tag. Closing/reopening Scalos (e.g. via screen mode 				 change) should now work. 20011203	JL	- Rewrote OpenWorkBench / CloseWorkBench patches in C.				 Problems with wrong colors after OpenWorkBench should now be fixed. 20011202	JL	- Added support for WB3.9-compatible (undocumented) CloseWB hook. Now e.g. AmiDock iconifies automagically on CloseWorkbench and uniconifies afer OpenWorkBench. - With status bar enabled, Scalos window heights grew each time a window was iconified and re-opened. Fixed. 20011201	JL	- Fixed broken FreePatternNode - now reloading pattern prefs should work again. - Finally fixed long-standing bug in icon update code that sometimes lead to duplicate icons. 20011130	JL	- Disk without icons now get default icon of type WBDISK instead of WBKICK. - Fixed problem with removed nodes in 				 SCCM_DeviceList_Generate, leading to corrupted device icon list. 20011129	JL	- Added file version information to tooltips. 20011128	JL	- Implemented global copy and delete hooks for compatibility with AsyncWB. - Fixed inverted NoRemap checking in backfill functions. 20011127	JL	- Finished converting all menu functions to C.	20011124	JL	- Fixed wrong SCA_FreeNode parameter in DevListClass_Generate. - LockScalosPens produces lots of enforcer hits when no palette prefs could be found. Fixed. 20011123	JL	- Finished converting all IDCMP handlers to C.	20011120	JL	- Completed converting window background rendering code to C. 20011117	JL	- Menu command "backdrop" didn't work. Fixed. 20011116	JL	- Fixed missing Argument for WaitReply in A5. This resulted in crashes when running modules with simple refresh windows. - Bumped revision to 40.16. 40.15	20011113	JL	- INF_File was not set for backdrop icons. Fixed. - Devices are now counted and displayed separately during D&D. 20011112	JL	- Changed screen pop-title algorithm so it should always get switched on if necessary. - Changed rendering of Logo in splash window back from DTM_DRAW to blitting functions. - Fixed error in DevListClass_Filter - missing parentheses lead to wrong exception calculation. - Bumped revision to 40.15. 40.15	20011112	JL	- Changed path for status bar images to "THEME:Window/StatusBar/". 20011111	JL	- Added SCA_NoStatusBar attribute to SCA_OpenWindow library function and SCALOS_NOSTATUSBAR tooltype to suppress status bar display on a single window. 20011110	JL	- Fixed most serious error : failed to reserve memory for IconWindowClass instance data. 20011108	JL	- Fixed wrong position for "iconify" gadget (overlapped 				 zip gadget). - Horizontal scroller height was too small. Fixed. - Added special detection of Screen titlebar to circumvent problem with MagicMenu which lead to screen bar staying visible in spite of cleared SHOWTITLE flag. 20011107	JL	- Added "Typing" symbol to status bar. - Icon selection by typing icon name didn't work for AppIcons and device icons. Fixed. - Removed LockIBase in Window.c/QueryObjectUnderPointer, hopefully avoiding window lockups. - Converted automatic Screen bar switching code to C (see 				 Scalos_Cx.c). Added additional checks for locked Layers to avoid deadlocks. 20011106	DM		- Added two new preference variables, prefWindowHScroll and prefWindowVScroll for the default distances of scrolling icon windows by the keyboard (main_prefs.s, variables.h,				 imports.i, exports.i). - Added parts of cleanup code converted to C to the source files (cleanup.c, main_subroutines.s)				- Added two missing includes to scalos_structures.h file (graphics/gels.h and workbench/startup.h)				- Can use shift+cursor keys in icon windows to scroll by a whole page (well, inner height and width of icon window - IconWindowClass.c)				- Can also use Return to open active icon in icon windows (IconWindowClass.c)				- Fixed problem with reading Workbench preferences and then showing Scalos main window in wrong mode/sizes (WindowClass.c)	20011104	JL	- Icon menu didn't get enabled when icon was selected via keyboard input (first letter(s) of icon name). Fixed. 20011102	JL	- Replaced blitting function in Splash.c by DTM_DRAW. - Fixed old problems with pen allocations - ObtainPen didn't check for success. 20011101	JL	- Bumped revision to 40.14. 40.13	20011020	JL	- During D&D, window dropmarks are no longer erased when mouse is over icon, but remain visible until mouse leaves window. - Added SCALOSCTRLA_GetEmulationMode tag for ScalosControl. 20011013	JL	- Now MenuItems get disabled if they have SubItems and every SubItem is disabled. - Since redrawing of partially overlapped icons seems to 				 work well, I disabled the strict icon overlap checking while D&D. 20011012	JL	- Added support for AppIcons sending select/unselect notification messages and WBAPPICONA_NotifySelectState tag. - CLIStart didn't work with WBPROJECT icons. Fixed. 20011011	JL	- Icon window crashed after D&D when redrawing previously obscured icons - Fixed. - Sometimes IDCMP_INTUITICKS messages were not replied. Fixed. - Automatic change of default window patterns failed when switching between icon and text mode. Pattern numbers sometimes were treated as unsigned instead of signed numbers. Fixed. 20011010	JL	- Added new Tags SCALOSCTRLA_GetTypeRestartTime and SCALOSCTRLA_SetTypeRestartTime for ScalosControl. 20011008	JL	- Menu commands "snapshotwindow" and "snapshotall" stayed disabled forever. Fixed name compare error in Prefs.c/CompareCommand. - Replaced remaining 64bit integer arithmetic code by C version. 20011007	JL	- Finished converting "Title.sca" to C. - Updated SCA_Title" autodocs for "Title.sca" class.	20011006	JL	- Finished converting "FileTransfer.sca" to C.	20011005	JL	- Replaced fixed version/revision strings in about window 				 by text macros "%v" and "%r".				- Added feature: Icons may now be selected by typing the 				  first character(s) of their names, just as in WB 3.9.				- Added feature: Cursors key can be used to select icon 				  right/left/below/above the currently selected one.				- Finished converting "DeviceList.SCA" to C.	20011005	JL	- Bumped revision to 40.13. 40.12	20011004	JL	- When converting WindowClass to C, I somehow dropped one 				  line of code and forgot to clear a window's UserPort 				  before closing the window. So it could happen that 				  IntuiMessages in the wt_IconPort already had got freed 				  by Intuition on closing the corresponding window, 				  leading to corrupted messages.	20011001	JL	- SCA_WBStart didn't work for icons with "CLI" or "REXX" tooltypes. Fixed. 20010930	JL	- Wbstartup sometimes skiped icons with free positions (Unshapshot). Fixed. 20010929	JL	- Finished converting Root class to C.	20010928	JL	- Now all window, menu and wbl processes inherit the original workbench path. 20010926	JL	- Added support for WBAPPMENUA_CommandKeyString (OS3.9) and separator bars to SCA_NewAddAppMenuItem. 20010924	JL	- Finished converting TextWindow class to C. 20010922	JL	- Finished converting IconWindow class to C.	20010916	JL	- Finally fixed long-standing problems with simultaneous multiple window updates (Enforcer hits, icons 				 appearing twice, etc.). 20010910	JL	- Fixed problem reading large directories containing icons with both fixed and free positions. Icons with "free" positions were placed at the end of each block read, and could be overlapped by an icon read later with a fixed position. 20010908	JL	- Bumped revision to 40.12.

40.11	20010907	JL	- In Icon windows, icons without associated objects were not displayed with "Show all files" setting. Fixed. 20010906	JL	- Text windows now show "Trashcan" in size column for trashcan drawers. - Icons of type WBDISK are hidden in text windows with "Show only icons". 20010904	JL	- Major changes in text window directory scanning. Now icons without associated object are displayed in text windows with "Show only icons". 20010903	JL	- Text windows now show "Drawer" in the size column for drawers. 20010902	JL	- Changed number format for file sizes to "%lU", using localized display format. - Finished converting window class to C. - Finished converting text icon class to C. 20010901	JL	- Deleting left-out object now always updates ".backdrop" files. - Left-out icons got the "put away" menu item disabled when updated (e.g. by adding tooltypes). Fixed. 20010831	JL	- Windows can now be scrolled with the arrow keys (only if no				 icons are selected in window). 20010830	JL	- Did some changes to the asm class macros to make the class engine more "C-friendly". 20010828	JL	- Moved Scalos .catalog files in archive from catalogs// to catalogs//Scalos/. - Now .catalog files are ignored if their version is <40, avoiding trouble with wrong messages. 20010819	JL	- Added distinct pens for the dragging info text. - Additional checks on plugin initialization - Now erroneously added menu plugins should no longer cause Scalos to crash on startup. - CloseWorkBench from VisualPrefs Task didn't work. Fixed. - CloseWorkBench will not close Scalos while there are active "Scalos_Async_Backfill" processes. - Bumped revision to 40.11.

40.10	20010817	JL	- Repaired bug in updateicon which sometimes caused icons to appear in incorrect windows. 20010815	JL	- Duplicating/cloning items now pops up the file copying progress window. - Dragging multiple icons now shows one or two text lines under pointer telling how many files and drawers are being dragged. - Fixed severe bug in wbl.c : WBNode's were allocated with AllocVecPooled and freed with FreeVec. 20010814	JL	- Added a varargs version of SCA_ScreenTitleMsg. - Added flag to switch between Flag: old dragging (all 				 icons visible) and new "icon stack". - Added new SCA_ScalosControl tags SCALOSCTRLA_GetOldDragIconMode and SCALOSCTRLA_SetOldDragIconMode. - IconWinCheckUpdate now correctly updates INF_DefaultIcon flag and INF_SupportsLeaveOut attribute. 20010811	JL	- Missed a CurrentDir when renaming objects, leading to a directory lock getting never UnLocked. - When D&D copying or moving icons, "Replace All" and "Abort" now should work correctly. - Message strings "xxx already exists" are now different when moving and copying objects. - When moving icons inside window and new position overlaps other icon, the moved icons now jump back to their original positions. - Bumped revision to 40.10.

40.9	20010811	JL	- THEME:SplashBackground was never freed, leaving a Lock on it. Fixed. - CLI and ARexx default tools icons didn't work in text windows. fixed. 20010809	JL	- Enabled deadlock detection for lasso operations. 20010808	JL	- Additional check for NULL wt_LateIconList in cleanup. - Text windows now again display "#?.info" files (icons). - Forbid drag-copying or -moving icon into own sibling window or on sibling icon to avoid move errors or endless recursion. 20010807	JL	- Fixed multiple problems with text window updates. 20010806	JL	- Added semaphore locking to protect from two or more Scalos tasks opening or closing windows at the same time. - Fixed broken "copy by dragging on drawer icon". - Added additional checking to prefs file notification. - Bumped revision to 40.9.

40.8	20010804	JL	- Worked around semaphore deadlock in SetIconMenuOnOff. This one occured when copying multiple directories between text windows. 20010803	JL	- Copying/moving of (left-out) drawers, tools, or projects from main window to any drawer window didn't work. Fixed. - Dragging a device icon into an icon window (copying device 				 into directory) no longer results in requester "DEVICE: 				  already exists ....". - Bug #29 : Dragging a device icon into an icon window where a drawer with the name of the device (w/o ":") already existed: Nothing happened. Fixed. - left-out icons no longer show up in text icon windows. - "leave out" and "put away" now correctly update text windows. - Increased size of text window + tooltip date and time fields from 16 to 80 bytes. - Added date/time string length checking to ScaFormatDate. 20010802	JL	- Fixed a race condition between DrawDrag and DragEnter that could block window when trying to auto-remove icons. - Finally fixed icon masking problem with PAL Hires-Laced screen. When "Auto Remove Icons" was turned on, dragged icons left garbage at their original position until finally dropped. Problem finally solved without setting friend BitMap to NULL. 20010731	JL	- Added preferences selectable pens for ToolTip text and background. - Due to an incompatibility in Palette.prefs, I renamed it to "Palette13.prefs". Scalos uses old "Palette.prefs" if no "Palette13.prefs" found. To create new prefs file, either copy old "Palette.prefs" to new "Palette13.prefs" or load Palette prefs editor and use "Save" button to generate new "Palette13.prefs". 20010729	JL	- Added check for deleting files of an undefined DirEntryType. - For SoftLinks, ToolTips showed name of link target instead of link name. Fixed. - Bumped revision to 40.8.

40.7	20010729	JL	- Dropped Popupmenu.library for icon ToolTip display and added own layouting and rendering code. 20010728	DM	+ Added check for copying files of a non-specific DirEntryType. Copies files correctly across Samba network, deleting files seems to work OK with the current code. 20010728	JL	- Moved ToolTip display to separate task. 20010727	DM	 + Fixed corrupt logo and text in about and splash windows by setting all allocated bitmaps to have no friend bitmap 20010726	JL	- Added AttempLockLayerRom around icon ToolTip display routine in order to avoid deadlocks. 20010724	JL	- Due to Mike's request, increased minimum window width by 20. 20010723	JL	- Added "scalos/icandy" environment variable on startup and set contents to "2". - Changed every copyright string to "© 1999-2001 The Scalos Team". - Added "About" function to Menu and Palette preferences. 20010722	JL	- Changing palette prefs now closes and reopens Scalos, no matter if the "DisableCloseWorkbench" flag is set. 20010721	JL	- "put away" command didn't work with icons without associated objects. Fixed. - "Scalos Menu" : added new menu commands "viewbysize" and "viewbydate". - "Disk.info" icons of type WBDISK will no longer appear inside drawer windows. - Switching window view mode while window is reading icons no longer causes window to close. - SCCM_IconWin_RemIcon now updates window's virtual size and adjusts sliders. 20010720	JL	- Bumped revision to 40.7.

40.6	20010718	JL	- Double-clicking tool icons in text windows didn't start execute command. Recognition of default icons in text windows didn't work when starting programs. Fixed. 20010717	JL	- Found a icon masking problem with PAL Hires-Laced screen. When "auto remove icons" was turned on, dragged icons left garbage at their original position until finally dropped. Problem (mask BitMap and icon BitMap having different format, 				 recognizable by different "BytesPerRow" values for equeal width) at least partially solved by setting friend BitMap to NULL if (Depth <= 8). 20010716	JL	- Empty lines in ".backdrop" files should be ignored now. - CloseWorkBench from IPrefs Task didn't work. Fixed. 20010715	JL	- Text windows sometimes swallowed first character of file comment. Fixed. 20010713	JL	- "Replace All" now works when drag-copying multiple objects. 20010712	JL	- "select contents" now deselects all icons in non-selected windows. - "clear selection" now deselects all icons in all windows. 20010711	JL	- Plugin libraries are now flushed on scalos exit. - Fixed possible problem with missing ScaWindowTask parameter on FreeIconList. - Bumped revision to 40.6.

40.5	20010708	JL	- CheckMouseIcon didn't work with negative coordinates. Fixed. - text windows initially opened with do_CurrentX < 0 in icon displayed icon text at incorrect position. Fixed. 20010707	JL	- When reading a directory, icons are no longer checked if they overlap each other. - converted SCA_OpenIconWindow to C. - Bumped revision to 40.5.

40.4	20010706	JL	- Enabled "snapshot window" and "snapshot all" for root window again. 20010705	JL	- Changed locking in DrawDrag - first call. When "Auto remove icons" was enabled, Icons sometimes didn't get ghosted properly due to DRAGFLAGF_WindowLocked set. - Changed initial value for unused oldDir Locks from NULL to $ffffffff, to avoid trouble with pr_CurrentDir = NULL (at the end of functions, CurrentDir never 				 got reset to initial value when that value was NULL). - AmigaDos menu commands failed to skip trailing '"' if command name is surrounded				 by '"', e.g. "SYS:xyz" executed with '"' as first argument.	20010704	JL	- AmigaDos menu commands now inherit the workbench path.				- Bumped revision to 40.4.

40.3	20010704	JL	- ReadIcon didn't respect the "show only icons" setting for text windows, so all files appeared after automatic window update. 20010703	JL	- changed detection for WMFLAG_IsVirtualSize (sizetofit menu command enabling), now also enabled if window is larger than necessary to hold icons. 20010702	JL	- Screen menu items are now enabled/disabled each time SCCM_IconWin_SetVirtSize is applied (i.e. after any change in window size). 20010630	JL	- Forgot to set Flag in ReadTextWindowIconList, so all text icons were treated as if on a write-protected disk. - Bumped revision to 40.3.

40.2	20010629	JL	- Fixed more problems run AmigaDOS menu commands without path. 20010628	JL	- SnapshotWindow sometimes wrote icon to wrong directory. Fixed. - Added wt_UpdateSemaphore locking for "update" command. - Bumped revision to 40.2. 40.1	20010627	JL	- BltMaskBitMapRastPort used incorrect MinTerm so Masking didn't work correctly. (e.g. logos in splash and about window on non-cybergraphics screen). 20010626	JL	- CheckMouseIcon didn't work when "Non-masked click area" was checked. Fixed. - Splash window didn't adjust logo when window was resized due to long message. Fixed. - ReadDatatypesImage returned the original BitMap (PDTA_BitMap) instead of the remapped one (PDTA_DestBitMap). 20010624	JL	- Due to extended library functions, bumped version to 40.1.

39.234	20010623	JL	- Added SCA_ScalosControl call to scalos.library. Only 3 tags supported yet, documentation still missing. 20010620	JL	- About and Splash window can may load different logo images "THEME:ScalosSplashLogo" and "THEME:ScalosAboutLogo". If those files are not found, both windows fall back to "THEME:ScalosLogo". 20010617	JL	- Due to an incompatibility in menu.prefs, I renamed it to "menu13.prefs". Scalos uses old "menu.prefs" if no "menu13.prefs" found. To create new prefs file, either copy old "menu.prefs" to new "menu13.prefs" or load old "menu.prefs" in menu prefs editor and use "Save" button to generate new "menu13.prefs". 20010616	JL	- Added new popup menu class for AppIcons. - "System Info" button in About window is disabled if sysinfo module cannot be found. - Opening new icon windows in iconified state could lead to each icon appearing twice after uniconifying window - Fixed. Now wt_LateIconList is cleared at the beginning of ReadIconList. 20010615	JL	- Fixed enforcer hits in about window when no scalos logo could be loaded. - RunMenuCommand didn't work with CLI (=AmigaDos) commands without path, i.e. only filename specified. Fixed. - Icon tooltips no longer pop up when non-Scalos window is active. - Icon position for iconified Scalos windows can be specified in window icon with SCALOS_ICONIFIED_XPOS and SCALOS_ICONIFIED_YPOS. - Bumped revision to 39.234.

39.233	20010614	JL	- AppIcon menu commands now support all WB3.5+ AMCLASSICON_... AppMessage class codes (e.g. Benchtrash information/snapshot/unsnapshot works). 20010613	JL	- Due to common request, Bob functions now don't use chip memory if port "FBlit" is available. 20010610	JL	- AppIcons always got IDTV_TextMode_Normal (no outline, no shadow). Fixed. 20010609	JL	- ARexx menu commands now may have selected items as arguments. - Bumped revision to 39.233.

39.232	20010608	JL	- Enabling/disabling popup menus now works correctly with nested sub-menus. 20010607	JL	- Scalos now does a "Update all" instead of "Redraw" when detecting changed main prefs. 20010606	JL	- Softlink sometimes could not be copied due to incorrect parent directory - Fixed. 20010605	JL	- Fixed nasty bug in AllocVecPooled/FreeVecPooled : a6 was overwritten. - In text windows with "Show only Icons", non-existing objects (i.e. icons 				 without corresponding objects) are no longer displayed (e.g. "disk"). - Disabled "Leave Out" for default icons. - Changed locking in TestPopup to prevent deadlocks. 20010603	JL	- Bug #4. Fixed crash when executing ARexx menu command. 20010602	JL	- No tooltips are displayed for icon after clicking or double-clicking it. - Menu command "sizetofit" now also shrinks windows if appropriate. - Bumped revision to 39.232.

39.231	20010601	JL	- Text windows with "Show only Icons" displayed data for icons instead of objects. Fixed. - Bug #13. Drawers inside of text windows no longer open always in text mode, but use the drawer icon settings instead. 20010530	JL	- checkmouseicon and QueryObjectUnderPointer now take "Non-masked click area" setting into account. 20010529	JL	- Fixed possible race condition with QueryObjectUnderPointer by extending window list and wt_IconSemaphore locking. 20010526	JL	- AppIcons now have popup menus (currently the same as tool icons) if is not 0. - Tooltips now recognize iconified scalos windows. 20010525	JL	- Iconified window appIcons get the "WBAPPICONA_SupportsOpen, TRUE" Attribute. - Fixed error in SCA_NewAddAppIcon - WBAPPICONA_Supports... tags didn't work. - Bumped revision to 39.231.

39.230	20010524	JL	- No icon tool tips are displayed if icon has tooltype "SCALOS_NOTOOLTIPS". - Added new menu commands "sizetofit" and "clearselection". 20010523	JL	- Scalos now passes a copy of the window lock as wa_Lock and wa_Name=NULL when no icons are selected (now OS3.9 Find work just as with Workbench). - Fixed a couple of problems with the new tooltip function. 20010519	JL	- Bumped revision to 39.230.

39.229	20010519	JL	- Fixed bug in QueryObjectUnderPointer - did not work correctly if Workbench screen wasn't frontmost screen. 20010517	JL	- Added check for ST_LINKFILE, ST_LINKDIR, ST_SOFTLINK before calling isLink. - (OLD) After updating left-out (backdrop) icon, updating the associated disk icon created a new backdrop icon instead of refreshing the old one. Fixed. 20010515	JL	- Replaced IDCMP_VANILLAKEY handling by IDCMP_RAWKEY in order to receive "key up" events. - Drag&Drag indicators (copy etc.) are now updated immediately when pressing or releasing qualifier key. 20010512	JL	- About window now supports optional background image "THEME:AboutBackground". 20010510	JL	- Added support for wheel mouse (icon/text window scrolling). 20010509	JL	- Text windows didn't get refreshed properly after deleting icons. Fixed. 20010508	JL	- Icon tooltypes sometimes were not recognized correctly. Fixed. - Bumped revision to 39.229.

39.228	20010507	JL	- Changed method of soft link detection to a more system-friendly one. - Bumped revision to 39.228.

39.227	20010506	JL	- Scalos no longer tries to load appchange'd AppIcons when their name contains invalid characters, i.e. ":/". - Scalos now uses AddPart to add the name of the AppIcon to the "Default icons" path, to make sure there is always a "/" between path and file name. - Converted WBLtask to C. The "unable to load your tool ..." Request now offers to select a different tool via ASL requester. 20010504	JL	- "Leave Out" didn't work for icons without associated files or drawers. Fixed. 20010501	JL	- Icon menu items weren't enabled correctly in text windows. Fixed. - "View All" wasn't recognized when initially opening text windows. Fixed. 20010430	JL	- Softlinks are now displayed with underlined names. This feature work only with iconobject.datatype 39.33 and later. (I saw that feature at Workbench 3.9 (with BoingBag 1) and immediately liked it). 20010429	JL	- Text windows now distinguish between "Show All Files" and "Show Only Icons". - Bumped revision to 39.227.

39.226	20010428	JL	- Splash window : added 10" timeout when waiting for update message reply.	20010427	JL	- AppIcons now support the WBAPPICONA_Supports... tags.				- Icon menu items are now enabled/disabled according to the icons properties,				 e.g. for icons on read-only media "delete" and "rename" is disabled.				- Splash window now supports optional background image "THEME:SplashBackground".	20010424	JL	- Fixed Enforcer hit in file/directory copying code when 				  FileTransClassInstance was NULL.				- CopyCommand didn't work with DestName != NULL (to perform 				  "Copy As" function). Fixed.				- Objects can now get duplicated (cloned) via D&D into same window				  with Control key held down.	20010422	JL	- Window.c/QueryObjectUnderPointer could crash if PtrLayer->Window was 				  empty (NULL). Fixed.				- Path Assign "THEME:" is set on program start to "Scalos:themes/default". - Bumped revision to 39.226.

39.225	20010421	JL	- Fixed enforcer hits/crash opening window popup menu with empty (NULL) ws_Name. - MoveCommand no longer complains when trying to move non-existing object. - Bumped revision to 39.225.

39.224	20010420	JL	- Dropped drop zone rendering in separate layers and returned to complement drawing due to lack of performance. 20010417	JL	- Logo gets loaded by datatypes.library from THEME:ScalosLogo - Defined C names for all library bases. 20010415	JL	- Region didn't get freed in class.c/SameWindow if no icon was moved. Fixed. - Additional check for NULL window pointer in Scalos.c/LassoInit. - moving icons in same window with "AutoRemove Icons = Off" didn't work properly because registers were trashed in main_subroutines.s/checkposition. Fixed. - Bumped revision to 39.224.

39.223	20010415	JL	- Due to Mike's request, bumped revision to 39.223. 222x26				- Removed locking with DragDropSemaphore due to deadlock problems. - Changed rendering of window/icon drop zones from complement drawing to separate layers (in Requesters), hopefully eliminating all problems with garbage left in windows. 20010414	JL	- Changed to utilize CatComp and its automatically generated locale header files. All localized string are now in "Scalos.cd". Tested with CatComp 44.6. 20010413	JL	- Bumped version to 222x26.

222x25	20010413	JL	- Fixed crash when icon window was closed or iconified while reading icons and drawer contained more than 20 icons. 20010412	JL	- (OLD) Fixed another icon window cleanup bug - icons were incorrectly positioned under certain conditions so that icon text could overlap other icons. 20010411	JL	- Lasso selection didn't respect window limits when selecting icons. Fixed. 20010410	JL	- CLIStart crashed with type WBTOOL icons. Fixed. - (OLD) SCA_OpenIconWindow didn't work with SCA_Iconify tag. Fixed. 20010409	JL	- Lasso didn't correctly calculate window left and top offsets. Fixed. - Popup menus now have two title lines, with the type of object in the first line and the name of the object in the second one. 20010407	JL	- File move and copy routiones rewritten from scratch. Extensive error checking when moving/copying objects. Requester when trying to overwrite existing objects while moving/copying. - Created locking mechanism (via DragDropSemaphore) to prevent window updates during D&D. 20010404	JL	- Renaming left-out icons will no longer lose their position. 20010403	JL	- Changed window refresh after file system notify : icon update is held back until 2s after last update request. Fixes lengthy repeated icon window updates after changing many items (e.g. "Select All", then "UnShapshot"). - Implemented drag threshold, i.e. icons have to be moved more than 4 pixels until drop zone indicator is drawn. THE AMOUNT OF 4 PIXELS SHOULD BE MADE USER SELECTABLE IN PREFERENCES. 20010402	JL	- When modifying icons, Icons used to disappear if no associated file existed. Fixed. 20010401	JL	- Icon just left out did not disappear from desktop when volume (disk) was removed. Fixed. - Icons could be "left out" multiple times, leaving several lines in ".backdrop". Fixed. 20010331	JL	- Fixed bug #25 - D&D didn't copy to drawer icon left out on the desktop. 20010330	JL	- Bumped version to 222x25.

222x24	20010329	JL	- (OLD) ".backdrop" files are now updated when renaming objects. Fixed bug #22. 20010328	JL	- Fixed OLD bug in root_handlemessages - stack could be corrupted if message without handler routine was encountered. Possibly also fixes long-standing bug #21. 20010327	JL	- Text mode windows used to show "#?.info" files when UseExAll was off. Fixed. 20010325	JL	- (OLD) Fixed enforcer hits/Alerts with "leave out" and "put away". - (OLD) Leave out didn't work if .backdrop had a length of 0 bytes. Fixed. 20010325	JL	- Bumped version to 222x24.

222x23	20010324	JL	- Rename.module, newdrawer.module and delete.module now trigger window updates on completion. - On completion of rename.module, objects are checked if they have been renamed and window names are adjusted if necessary (bug #16 finally wiped out). 20010323	JL	- Lasso selection now only affects visible icons (same behaviour as Scalos 2.1d) 20010321	JL	- Hopefully fixed multiple text window refresh problems. - Removed forced D&D source update. 20010320	JL	- Window drop box was drawn incorrectly for text windows. Fixed. - Added new text window methods : SCCM_TextWin_BeginUpdate, SCCM_TextWin_EndUpdate. - Changed text window method SCCM_IconWin_RemIcon from no-op to working icon removal. 20010319	JL	- Fixed serious bug in GetTextIcon_Fib : Drop on text window icon caused many enforcer hits. - D&D onto text icon drawers didn't work. Fixed. - IconWinCheckUpdate now also works work text windows. 20010318	JL	- Converted text window icon reading code to C. - Text windows displayed date+time incorrectly : last digit was shown twice. Fixed. - Text window columns now always are wide enough to show column title (e.g. empty drawer in text mode only used to show the last column spanning all window width) - IconActive flag didn't get updated corrected when lasso-selecting icons. Fixed. - Left mousebutton click toggles icon selection state when shift pressed. 20010317	JL	- Bumped version to 222x23.

222x22	20010317	JL	- Text mode windows used incorrect font. Inserted missing SetFont in DrawTextGadgets. Special indicator bobs were broken with system bob routines. Fixed. 20010317	JL	- Bumped version to 222x22. 222x21	20010317	JL	- ReadIconList failed when called from different WindowTask (e.g. activate				 Window #1, RMB click Window #2, select "Update" via popup menu). Fixed. - Icons in backdrop windows could be dragged to overlap each other. Fixed. - At D&D operations, the first argument (file/drawer) didnþt get freed. Fixed. 20010316	JL	- Prefs option "Hide hidden files" now hides files starting with "." (only in functions converted to C yet). - Drag/Drop copy/move forces check for update on source. - Changed D&D special indicator handling: * special bobs initially added to separate list instead of adding to srgh_boblist and then moved to special bob list. * drgh_boblist protected by semaphore to prevent DrawDrag until InitDrag finishes. 20010315	JL	- Icon drop marks during menu popup didn't get erased properly in simple-refresh windows. fixed. 20010314	JL	- Fixed directory-reading bug with empty file names or files ".info". - special D&D indicators are now always drawn solid. 20010313	JL	- Fixed (self-introduced) Bug in DragDropBobs.c : BlitTrans handled masks incorrectly when width was a multiple of 16. - Bob functions now don't use chip memory if CyberGfxBase is available. 20010312	JL	- Squished Bug #17 : Text window column headers no longer flicker when MMB is held down and mouse is moved. 20010310	JL	- Removed layout bug in iconwindow cleanup (icons did overlap). 20010305	JL	- Lasso now always uses Screen->MouseX/MouseY coordinates. No more offsets between mouse position and lasso corner ! 222x20	20010303	JL	- PopupMenu now visually indicates selected icon. - Popup menus work without selecting window now (if any Scalos window is selected) 20010227	JL	- finished converting main_dragdropbobs.s to C.				- During D&D, special indicators show if icon may not be dropped or icons are going to be copied. - During D&D, holding CTRL key forces copy (instead of move). 20010221	JL	- During D&D, Icons leave a "shadow" at their original position if "Auto remove icons" is enabled. This Shadow is truly transparent if possible (CyberGfx + Screen depth > 8) and enabled in preferences, else it is drawn "ghosted". 20010220	JL	- Removed old bug in copyfiles - after a read error, Scalos didn't stop, but tried to write 0xffffffff bytes to the destination. 222x17	20010217	JL	- ported all xxxDrop stuff to C. Changed ScaBob and ScaBob2 member names to avoid conflicts with Gels Bobs. 20010216	JL	- Fixed old bug in execomprog, formatdiskprog, shutdownprog, renameprog, newdrawerprog, deleteprog, emptytrashprog : TagList for SBA_WBStart wasn't set, a1 contained garbage. 20010211	JL	- Bug #30: Removed GM_HITTEST from TextIconClass. Now TextIcons can be selected Bug #19: Text window cleanup now works. - by clicking anywhere in the line, not only the name field. 20010209	JL	- Fixed bug Scalos crashing on quit with drawer windows open 20010207	JL	- Pulled nasty bug introduced by early plugin init in ReadDiskPlugin1 20010129	JL	- Added new IconWindow methods SCCM_IconWin_DragEnter, SCCM_IconWin_DragLeave, SCCM_IconWin_DragQuery. - Added Qualifier to SCCM_IconWin_DragDrop. - Added global Variable "Default_StackSize". - Added Support for ToolType "DONOTPROMPT" in conjunction with old ToolType "CLI". - Moved all datat structure definitions to file "scalos_structures.i". - Created C header file "scalos_structures.h". - Actual Plugin Data (e.g. instance size) is read before MakeClass - Changed view of dragging selected icons to dragging a "stack" of max. 3 icons - When dragging, icons/windows indicate where things may be dropped. - Lasso activates icons on the fly now. - Popup menu titles reflect icon names. 20010113	JL	- Ported to assemble with PhxAss. PhxAss doesn't like constructs like "iconnode\.node" so I put a prefix on all structure members e.g. "in_node".

39.220	20010111	DM	- Converted Juergen's fixes to values instead of constants, AsmOne seems to not like some of the included OS files - in various files 20001231	MC0002	- Added includes for various lvo/#?.i	20001230	MC0001	- Added exec/libraries.i for LIB_VERSION macro and OS3.5 asm includes for workbench.library, imageclass.i	20001217	DM000A	- Removed include file main_about.s - all code now in C!	20001212	DM0009	- Added some code for calling debug startup/shutdown C functions 20001122	DM0007	- Removed about_pattern from main_tables.s and put into about.c (the only place that was using it) All logo stuff moved from main_scalos.s to main_about.s (only place it is used) 2000		DM0006 2000		DM0005 20001114	DM0004	- started converting the about requester and related code to C as a test of how painful this is going to be :)	20001107	DM0003	- added the includes imports.i and exports.i. used for when combining with C code. Also added workaround for symbol export bug in AsmXXX	20000903	DM0002	- Bumped version and date to 39.220 (1.2c) and 3/9/00				- Fixed enforcer hit when there is no main menu prefs file on startup				- Noticed that main menu prefs aren't read in with prefslib!

39.219	20000726	DM0001	- Altered some lines in readmainprefs routine so that scratch registers are reloaded before use 19991130	CDH0001	- Added code for new "formatdisk" command from Menu Prefs 19991204	CDH0002	- Added code for "SystemInfo.module" from About requester 19991205	CDH0003	- Added code for new "shutdown" command from Menu Prefs

Scalos main Preferences

40.13	20040827	+jl+	- Added passing of tooltypes on to prefs plugins. 40.12	20040718	+jl+	- Added font preview for icon font, and text window font. - In the "drag and drop" section, added new qualifier input field for "Create links" and "Force move". - On the "Miscellaneous" page, added a cycle gadget to select the type of links Scalos generates. 40.11	20040516	+jl+	- Added new prefs page for TrueType font settings. TT Font selection is available for icons, text windows and tooltips and the "About" window ("Screen font"). - Added checking for custom MUI MCCs and MCC versions. - Enabled "Multiple Lines" switch for icon text. 40.10			+jl+	- Rearranged prefs pages - created new prefs group "Drag and Drop". 40.9 40.8	20040111	+jl+	- Added slider for degree of default icon drawing transparency. - Transparency settings and "Custom" bob routines are now disabled when noo CyberGfx library found or when Workbench screen has no more than 256 colours. 40.7	20040107	+jl+	- Several Datatypes images were no longer visible after iconify/uniconify. Fixed. - Added icon for iconified state. 40.6	20040101 	+JL+	- Added gadget to adjust Scalos default stack size. 40.5	20031227	+jl+	- Replaced MUI NFloattext class by Floattext. 40.4  20031218	+jl+	- Updated Scalos URL to "scalos.noname.fr". 40.3  20031216	+jl+	- Added missing load/save functions for Tooltip delay 40.2	20031117	+jl+	- "Add plugin" command erroneously cleared internal plugin list. - Changed module image display from TransferAnimObject to DataTypesMCCObject. 40.1	20030104	+jl+	- Rewritten from scratch, based on code by Budda. 20030710 	+JL+	- Initial release 40.1

Scalos FileTypes Preferences

40.6	20041111	+jl+	- Replaced Assembler library startup code by C. No functional changes. 40.5	20040828	+jl+	- Added menu option and tooltype to hide all empty filetype entries. 40.4	20040703	+jl+	- Added font preview to TTTFONT editing window. 40.3	20040222	+jl+	- Changing the "create icons" menu item had no effect. - Added TrueType font support for ToolTips (new TTFONT 				 attribute for STRING). 40.2	20040108	+jl+	- Added icon for iconified state. - Bugfix: Fixed handling of internal "modified" flag. - Added lamp indicator for "modified" flags. 40.1	20031211	+JL+	- Initial release 40.1

Scalos Menu Preferences

40.12	20041111	+jl+	- Replaced Assembler library startup code by C. No functional changes. 40.10	20040424	+jl+	- Bugfix: Fixed handling of internal "modified" flag. - Added lamp indicator for "modified" flags. - Menu command "Merge" erroneously cleared the existing entries before importing the new ones. Fixed. 40.9	20040222	+jl+	- Changing the "create icons" menu item had no effect. 40.8	20040108	+jl+	- Added icon for iconified state. 40.7	20030831	+JL+	- Moved core functionaility to "MenuPrefs.prefsplugin". 40.6	20030712 	JL	- Bugfix: Removed memory leak in CLI startup code. 40.5	20030531 	JL	- Bugfix: Popup button for IconWindow command entries now only accepts directories. - Bugfix: Closing command popup ASL requester with "Ok" button failed to enter filename into Listview element. - Improvement: command popup ASL requester now defaults to "Scalos:Plugins/Menu/" directory for menu plugins. 40.4	20030424 	JL	- Several bugfixes that affect renaming of menu items. - for Workbench commands, stack size and priority are taken from icon, if available. 40.2	20030223 	JL	- Added checking of menu level and number of menu items. It 				 is no longer possible to add a new menu to a SubMenu, or 				  to add more than 64 MenuItems to a menu, or to add more than 32 Entries to a sub menu. 40.1	20021226 	JL	- Rewritten from scratch in C.

Scalos Palette Preferences

40.7	20041111	+jl+	- Replaced Assembler library startup code by C. No functional changes. 40.6	20040424	+jl+	- Bugfix: Fixed handling of internal "modified" flag. - Added lamp indicator for "modified" flags. - Changing the "create icons" menu item had no effect. 40.5	20040121	+jl+	- Number of allocatable pens was too small by 1. Fixed. 40.4	20040108	+jl+	- Added icon for iconified state. 40.3	20030831 	JL	- Moved core functionaility to "PalettePrefs.prefsplugin". 40.2	20030712 	JL	- Bugfix: Removed memory leak in CLI startup code. 40.1	20020601 	JL	- Added display for number of currently allocated and available pens. 20011225 	JL	- Rewritten from scratch in C.				- Added separate pens for selected icon text, icon text outline, and icon text shadow.

Scalos Pattern Preferences

40.8	20041111	+jl+	- Replaced Assembler library startup code by C. No functional changes. 40.6	20040426	+jl+	- Bugfix: Fixed handling of internal "modified" flag. - Added lamp indicator for "modified" flags. - Changing the "create icons" menu item had no effect. 40.5	20040108	+jl+	- Added icon for iconified state. 40.4	20030831	+JL+	- Moved core functionality to "PatternPrefs.prefsplugin". 40.3	20030712	+JL+	- Bugfix: Removed memory leak in CLI startup code. 40.2	20030129	+JL+	- Bugfix: Bubble for preview gadget was broken. - Bugfix: switching between "tiled" and "fit size" didn't work. - Rewritten from scratch in C.

Scalos LoadWB

1.4	20040108	jl	- The functionality to wait until Scalos opens its first Window on the workbench screen can now be suppressed with NOWAIT. 1.3	20021005 	JL	- LoadWB now waits until Scalos opened its first Window on the workbench screen. This is to avoid problems with Birdie.

picturedimensions.plugin

40.3	20040117	+jl+	+Added localization for message strings. 40.2	20030628	+jl+	+Fixed several memory leaks. 40.1	20021231	+jl+	+Initial release

drawercontents.plugin

40.3	20040117	+jl+	+Added localization for message strings. 40.2	20030628	+jl+	+Fixed several memory leaks. 40.1	20030104	+jl+	+Initial release

amigaiconobj35.datatype

40.7	20031220	jl	+changed library from "struct Library" to "struct ClassLibrary" 40.6	20030420	jl	+Added support for "borderless" flag. 40.5	20021201	jl	+Enhanced cleanup - now does RemLibrary on iconobject.datatype. 40.4	20020815	jl	+Fixed possible enforcer hits in Expunge 40.3	20020131	jl	+Object pointer in A2 might have been set incorrectly under certain circumstances in OM_NEW/SetSuperImgBorders. 40.2	20020112	jl	+Always sets IDTA_InnerLeft, IDTA_InnerTop, IDTA_InnerRight and IDTA_InnerBottom to 0 if icon has a RenderHook. 40.1 	20020101	jl	+Removed IDTA_InnerLeft and IDTA_InnerTop checks to 				 enable frames around masked icons +Added support for IDTA_SupportedIconTypes tag. 39.31	20010627	jl	+Fixed wrong register for GetCyberMapAttr Attribute parameter. 39.30	20010508	jl	+some instance data is now longword aligned 39.29	20010207	jl	+fixed 2 byte memory overwrite error in ClearMemory 39.28	20010128	jl	+Added Semaphore protection for memory pools 39.27	20010117	jl	+Begin revision history

amigaiconobject.datatype

40.5 	20031220	+jl+	+changed library from "struct Library" to "struct ClassLibrary" 40.4	20021201	+jl+	+Enhanced cleanup - now does RemLibrary on iconobject.datatype. 40.3	20020815	+jl+	+Fixed possible enforcer hits in Expunge 40.2	20020113	+jl+	+More changes for enhanced compatibility for icons with borders. 40.1	20020101	+jl+	+Removed IDTA_InnerLeft and IDTA_InnerTop checks to 				 enable frames around masked icons 39.24	20010514	+jl+	+fixed mean bug in clLayout - somehow two lines had disappeared. 39.23	20010511	+jl+	+fixed serious bug in clWrite. 39.22	20010508	+jl+	+some instance data is now longword aligned 39.21	20010128	+jl+	+Added Semaphore protection for memory pools 39.20	20010117	+jl+	+All memory allocations are now being done via memory pools.

iconobject.datatype

40.12	20040814	+jl+	+Added support for new IODRAWF_NoEraseBg flag. 40.11	20040524	+jl+	+Added functionality to support TrueType fonts for icon text 20040611	+jl+	+Added support for splitting of icon text into multiple lines 20040611	+jl+	+Added support for transparent rendering of icon label shadow and outline (TrueType fonts only). 40.10	20031220	+jl+	+changed library from "struct Library" to "struct ClassLibrary" 40.9	20030420	+jl+	+Added support for per-icon "borderless" flag 40.7	20020928	+jl+	+Added IDTA_UserFlags get/set tag. 40.6	20020815	+jl+	+Fixed possible enforcer hits in Expunge 40.5	20020321	dm	+Fixed crash when GM_HITTEST was invoked with icon mask of NULL. 40.4	20020320	+jl+	+GM_HITTEST was broken when icon borders were > 0. 40.3	20020201	+jl+	+Added attribute tags IDTA_MaskBM_Normal and IDTA_MaskBM_Selected. 40.2	20020113	+jl+	+More changes for enhanced compatibility for icons with borders. 40.1	20020101	+jl+	+Added separate pens for selected icon text, icon text outline, and icon text shadow. 39.38	20011230	+jl+	+Major changes to support borders around os3.5 icons and NewIcons. 39.37	20010818	+jl+	+Added IDTA_Font attribute 39.36	20010617	+jl+	+SetAttr(IDTA_ToolTypes) now stores a COPY of the provided tooltype array. Copy gets freed on Dispose. 39.35	20010613	+jl+	+checks for "FBlit" on OpenLibrary and doesn't use any chip memory if found. 39.34	20010508	+jl+	+longword-aligned structure IconObjectInst. 39.33	20010429	+jl+	+Displays underlined text if IDTA_isLink is TRUE. 39.32	20010311	+jl+	+Uses no chip mem if cybergraphics is found. 39.31	20010209	+jl+	+Added missing "ret" in LibClose ... fixes crash on Scalos closing. 39.30	20010128	+jl+	+Added Semaphore protection for memory pools 39.29	20010117	+jl+	+All memory allocations are now being done via memory pools. 39.28	20010114	+jl+	+fixed memory leak with iobj_name

newiconobject.datatype

40.5 	20031220	+jl+	+changed library from "struct Library" to "struct ClassLibrary" 40.4	20021201	+jl+	+Enhanced cleanup - now does RemLibrary on iconobject.datatype. 40.3	20020815	+jl+	+Fixed possible enforcer hits in Expunge 40.2	20020113	+jl+	+More changes for enhanced compatibility for icons with borders. 40.1	20020101	+jl+	+Removed IDTA_InnerLeft and IDTA_InnerTop checks to 				 enable frames around masked icons 39.24	20011206	+jl+	+Fixed reversed check for IOFREELAYOUTB_ScreenAvailable in idtm_freelayout. 39.23	20010714	+jl+	+Fixed bug in DTM_Write with IDTA_ToolTypes. 39.22	20010627	+jl+	+Fixed wrong register for GetCyberMapAttr Attribute parameter. 39.21	20010508	+jl+	+some instance data is now longword aligned 39.20	20010128	+jl+	+Added Semaphore protection for memory pools 39.19	20010120	+jl+	+All memory allocations are now being done via memory pools.

pngiconobject.datatype

40.12	20041111	+jl+	+Replaced Assembler library startup code by C. No functional changes. 40.11	20040915	+jl+	+Bugfix: icon mask generation clipped some pixels at right border. Fixed. 40.10	20040801	+jl+	+Default icons were not saved to the correct path. 40.9	20040523	+jl+	+Fixed severe memory trashing. Datatype used to overwrite random memory with some icons. 40.8	20040429	+jl+	+Datatype now correctly recognizes and renders AppIcons generated by PowerIcons. 40.7	20040226	+jl+	+Plugged several memory holes. 40.6	20040111	+jl+	+Added support for default icons via IDTA_DefType tag. 40.5	20040109	+jl+	+Now supports extra information about original object (Path+Name) for the determination of icon type. 40.4	20040105	+jl+	+Iconobjects now use DrawerData defaults from icon.library default icon of the same type. 40.3	20040104	+jl+	+Fixed severe bug that trashed random memory. Only occured with icons without fixed position. 40.2	20040102	+jl+	+Added optimization in alpha-blending routines. +Fixed trashing of icon image data during IDTM_Write. +Disk icons (WBDISK) were not recognized properly. 40.1	20011221	+jl+	+Initial version

iconobject.library

40.4	20041110	+jl+	- Removed Assembler library startup code. No functional changes. 40.3	20021201	+jl+	- Improved cleanup code: FreeClassList now calls RemLibrary for each datatype. - Added capability to copy/cut/paste attributes. 40.2	20020815	+jl+	- Fixed possible Enforcer hit in Expunge 40.1	20020101	+jl+	- Added new library function Convert2IconObjectA

wbrexx.plugin

39.18	20041113	jl	+Replaced Assembler library startup functions by C code. No functional changes. 39.17	20031222 	JL	+Changed "OpenDrawerByName" to make use of the Scalos iconobject datatypes. 39.16	20030112	JL	+Removed some dependencies on undocumented internal Scalos data structures. 39.15	20021206 	JL	+Added "MENU INVOKE WINDOW.CLEANUPBY.NAME/DATE" "/SIZE/TYPE" functions. +Added "ICON MOVE IN/OUT" functions. +Added "MENU INVOKE WINDOW.RESIZETOFIT" function. 39.14	20021130 	JL	+Added "ICON ACTIVATE UP/DOWN/LEFT/RIGHT" functions. +Fixed order of which icons get select with "ICON CYCLE NEXT/PREV" function. 39.13	20020927 	JL	+Fixed bug in AddMenuItem and AddKeyboardCommand which could lead to crashed when trying to add items with already exiting names. 39.12	20020131 	JL	+Now supports adding menu subitems and new menus. Using this new features requires Scalos V40.20. 39.11	20011030 	JL	+Fixed serious initialisation problem in Scalos preview mode, leading to crash on any keyboard input. 39.10	20011020 	JL	+No longer initializes if Scalos is running in preview mode. 39.9	20011008 	JL	+Changed priority to -79 in order to make it work for text windows. +"ICON MAKEVISIBLE" didn't always work correctly for text windows. Fixed. 39.8	20010927 	JL	+Added missing MENU and KEYBOARD functions. +Fixed several bugs GETATTR function. 39.7	20010719 	JL 	+Forgot to UnLock lock in FindWindowByName. Fixed. 39.6	20010718 	JL 	+Changed matching algorithm in FindWindowByName, important for all WINDOW commands.

wb39.plugin

45.28	20041113	jl	+Replaced Assembler library startup functions by C code. No functional changes. 45.27	20040612	JL	+Fixed enforcer hits when text window icons were renamed with AsyncWB (Added translation of text icon 				 types in ChangeWorkbenchSelectionA ). 45.26	20040103 	JL	+Added several undocumented WorkbenchControl tags, WBCtrl doesn't fail, however, not all values are used. +MaxCopyMem can now be changed via WorkbenchControlA calls. 45.25	20031222 	JL	+Changed "OpenDrawerByName" to make use of the Scalos iconobject datatypes. 45.24	20030112 	JL	+Removed some dependencies on undocumented internal Scalos data structures. 45.23	20020914 	JL	+Added support for V45 WBOPENA_Show and WBOPENA_ViewBy tags to OpenWorkbenchObjectA emulation. 45.22	20020110 	JL	+The AMTYPE_APPWINDOW AppMessages generated in AppWindow.c had wrong mn_Replyport. Fixed. 45.21	20011231 	JL	+Added support for "No Color Icons" and "No NewIcons" workbench prefs settings. 45.20	20011223 	JL	+Avoid excessive Scalos root window updates with AddHiddenDevice/RemHiddenDevice. 45.19	20011204 	JL	+Added support for (undocumented) CloseWB/OpenWB hook list. +Added Support for (undocumented) set/clear icon.library global screen. 45.18	20011129 	JL	+Added support for getting and setting delete, copy, and text input hooks (undocumented). 45.17	20011116 	JL	+fVolumeGauge was not longer checked. Fixed. +WB prefs are now checked each time a new device window is opened. 45.16	20011020 	JL	+No longer installs patches if Scalos is running in preview mode. 45.15	20011010 	JL	+Added proper handling for WorkbenchControl tags WBCTRLA_SetTypeRestartTime and WBCTRLA_GetTypeRestartTime. 20011008 	JL	+Changed priority to -89. 45.14	20010714 	JL	After WBCTRLA_AddHiddenDeviceName and WBCTRLA_RemoveHiddenDeviceName, now does SCCM_IconWin_Update on root window. 45.13	20010708 	JL	When opening drawer windows, DDVM_BYICON now gets translated into IDTV_ViewModes_Icon. 20010623 	JL	Added full Support for WBCTRLA_GetDefaultStackSize and WBCTRLA_GetProgramList, using new SCA_ScalosControl call. 20010524 	JL	HiddenDeviceList entries now get ln_Type=0x67 so Workbench prefs/IPrefs correctly removes old entries from list. 20010523 	JL	Added additional argument checking to myWorkbenchControlA Added Semaphore protection for HiddenDeviceList 20010520 	DM	Some other small fixes 20010518 	DM	Hidden device list completely supported (needs devicefilter.plugin				to actually hide devices). Hidden devices read from workbench prefs file (scalos_helper.c)	20010124 	JL	Fixed Malfunction of AddAppWindowDropZoneA with WBDZA_Box

persist.plugin

39.19	20041113	jl	+ Replaced Assembler library startup functions by C code. No functional changes. 39.18	20031222	JL	- Changed "OpenDrawerByName" to make use of the Scalos iconobject datatypes. 39.17	20020501	JL	- "Persistant_Windows" file no longer is deleted during initialization. The advantage is, if Scalos crashed before the first window gets re-opened, the Persistant_Windows file is untouched. As soon as the first window opens, the Persistant_Windows file is rewritten. - The re-opened windows won't get activated (works with 				 Scalos V40.22+). 39.16	20011228	JL	- Disabled some Printf calls. 39.15	20010803	JL	- Reversed order in which windows are reopened. 39.14	20010730	JL	- Changed name of prefs file from "ENVARC:Scalos/Persist.config" to "ENV:Scalos/Persist.prefs". - "Use_SCA_Iconify" now default to "1" if scalos.library version is at least 40. 39.13			JL	- Name of persistant windows status file is now configurable in "ENVARC:Scalos/Persist.config". 39.12			JL	- When re-opening drawer windows, DDVM_BYICON now gets translated into IDTV_ViewModes_Icon. 39.11	 		JL	- when re-opening window in iconified state, now immediately adds entry in persist file (no SCCM_Window_Open will occur, so otherwise 				 no entry would be generated at all). 39.10	 		JL	- prefs file may contain comment lines beginning with "#". empty lines in prefs file will be ignored. iconified windows are remembered and re-iconified on startup.

volumegauge.plugin

39.6	20041113	jl	+Replaced Assembler library startup functions by C code. No functional changes. 39.5	20030112 	JL	+Removed some dependencies on undocumented internal Scalos data structures. 39.4	20011110		- some changes for compatibility with Scalos 40.14.

deficons.plugin

./.	20031231	JL	- Depracated since functionality has been integrated into Scalos main program. 45.6	20011230	JL	- OpenLibraries was called twice. Fixed. - Added support for individually enabled/disabled icon types.

xtwindows.plugin

40.5	20040102	JL	- Adapted to changed OpenDrawerByName function, now uses iconobject.library instead of icon.library.

ScalosCtrl

40.16	20040104	JL	+ Added new CBS=COPYBUFFSIZE parameter. 20040102		- Added "QUERY" command line switch.

Content-Type: text/html scalosgfx.library

ScalosGfxCreateEmptySAC ScalosGfxCreateSAC ScalosGfxFreeSAC ScalosGfxCreateARGB ScalosGfxFreeARGB ScalosGfxARGBSetAlpha ScalosGfxARGBSetAlphaMask ScalosGfxCreateARGBFromBitMap ScalosGfxFillARGBFromBitMap ScalosGfxWriteARGBToBitMap ScalosGfxMedianCut ScalosGfxScaleARGBArray ScalosGfxScaleBitMap ScalosGfxCalculateScaleAspect ScalosGfxBlitARGB ScalosGfxFillRectARGB ScalosGfxSetARGB ScalosGfxNewColorMap ScalosGfxARGBRectMult ScalosGfxBlitARGBAlpha ScalosGfxBlitARGBAlphaTagList ScalosGfxBlitIcon

NAME

ScalosGfxCreateEmptySAC -- Allocate an empty ScalosBitMapAndColor

SYNOPSIS

sac = ScalosGfxCreateEmptySAC D0

struct ScalosBitMapAndColor *ScalosGfxCreateEmptySAC( void );

FUNCTION Allocates an empty ScalosBitMapAndColor structure, with NULL sca_BitMap and sac_ColorTable.

INPUTS none

RESULT sac - new created ScalosBitMapAndColor, or NULL on failure

SEE ALSO ScalosGfxFreeSAC, ScalosGfxCreateSAC

NAME

ScalosGfxCreateSAC -- Allocate ScalosBitMapAndColor

SYNOPSIS

sac = ScalosGfxCreateSAC(width, height, depth, friendBM, tagList); D0                      D0     D1      D2     A0        A1

struct ScalosBitMapAndColor *ScalosGfxCreateSAC(ULONG, ULONG, ULONG,       		struct BitMap *, struct TagItem *)

struct ScalosBitMapAndColor *ScalosGfxCreateSACTags(ULONG, ULONG, ULONG,       		struct BitMap *, ULONG, ...)

FUNCTION Allocate a ScalosBitMapAndColor structure. sac_BitMap and sac_ColorTable are allocated according to specified dimensions.

INPUTS width - Desired width of new ScalosBitMapAndColor BitMap. height - Desired height of new ScalosBitMapAndColor BitMap. depth - Desired depth of new ScalosBitMapAndColor BitMap. Must be less than 256. sac_ColorTable will be allocated to hold 2^depth entries. friendBM - Friend BitMap to use for BitMap allocation. tagList - pointer to list of Tags, or NULL.

TAGS None defined yet.

RESULT sac - new created ScalosBitMapAndColor, or NULL on failure

SEE ALSO ScalosGfxFreeSAC, ScalosGfxCreateEmptySAC

NAME

ScalosGfxFreeSAC -- free a previously allocated ScalosBitMapAndColor

SYNOPSIS

ScalosGfxFreeSAC(sac); A0

void ScalosGfxFreeSAC((struct ScalosBitMapAndColor *);

FUNCTION Frees and deallocates a previously allocated ScalosBitMapAndColor, including sac_BitMap and sac_ColorTable.

INPUTS sac - previously allocated ScalosBitMapAndColor, or NULL

RESULT nothing

SEE ALSO ScalosGfxCreateSAC, ScalosGfxCreateEmptySAC

NAME

ScalosGfxCreateARGB -- Allocate a gfxARGB with specified size

SYNOPSIS

argb = ScalosGfxCreateARGB(width, height, tagList) D0                        D0     D1      A0

struct gfxARGB *ScalosGfxCreateARGB(ULONG, ULONG, struct TagItem *)

FUNCTION Allocates an array of struct gfxARGB with sufficient size for specified width and height.

INPUTS width - width of gfxARGB array height - height of gfxARGB array tagList - pointer to list of Tags, or NULL.

TAGS None defined yet.

RESULT argb - new allocated gfxARGB, or NULL on failure.

SEE ALSO

NAME

ScalosGfxFreeARGB -- Free a previously allocated gfxARGB

SYNOPSIS

ScalosGfxFreeARGB(argb) D0               A0

VOID ScalosGfxFreeARGB(struct gfxARGB **)

FUNCTION

INPUTS argb - pointer to storage of previously allocated gfxARGB. argb may point to NULL.

RESULT nothing

SEE ALSO ScalosGfxCreateARGB

NAME

ScalosGfxARGBSetAlpha -- Set all pixels to specified Alpha value.

SYNOPSIS

ScalosGfxARGBSetAlpha(src, alpha); A0  D0

VOID ScalosGfxARGBSetAlpha(struct ARGBHeader *, UBYTE)

FUNCTION Alpha value of all pixels in the ARGBHeader and its previously allocated gfxARGB array is set to the specified value.

INPUTS src - Header of gfxARGB rectangle to modify. alpha - Alpha (transparency) value to set.

RESULT

SEE ALSO ScalosGfxARGBSetAlphaMask

NAME

ScalosGfxARGBSetAlphaMask -- Set alpha value according to mask plane

SYNOPSIS

ScalosGfxARGBSetAlphaMask(argbh, maskPlane) A0    A1

VOID ScalosGfxARGBSetAlphaMask(struct ARGBHeader *, PLANEPTR)

FUNCTION Alpha values of all pixels in the ARGBHeader and its previously allocated gfxARGB array are set according to mask plane, i.e. for every bit set in mask plane, alpha is maximum (255), and for every cleared bit, alpha is set to minimum (0).

INPUTS argbh - Header of gfxARGB rectangle to modify. maskPlane - Single bit mask plane. Dimensions must match size of argbh, with width rounded up to next 16-bit.

RESULT nothing

SEE ALSO ScalosGfxARGBSetAlpha

NAME

ScalosGfxCreateARGBFromBitMap -- Create gfxARGB array from a BitMap

SYNOPSIS

argb = ScalosGfxCreateARGBFromBitMap(bm, width, height, numberOfColors, colorTable, maskPlane       	D0                                   A0  D0     D1      D2              A1          A2

struct gfxARGB *ScalosGfxCreateARGBFromBitMap(struct BitMap *, ULONG, ULONG, ULONG,       		const ULONG *, PLANEPTR)

FUNCTION Allocates and a gfxARGB array with specified dimensions, and fills it from provided BitMap, with optional mask plane. Works only with standard BitMaps with less than 256 colors.

INPUTS bm - source BitMap to fill gfxARGB array from, Depth must be less than 256 colors. width - Width of gfxARGB array height - Height of gfxARGB array numberOfColors - number of entries in colorTable colorTable - Color table to use for BitMap maskPlane - Single bit mask plane. Dimensions must match width and height, with width rounded up to next 16-bit. May be NULL. RESULT argb - allocated gfxARGB array or NULL on failure.

NOTES Use ScalosGfxFillARGBFromBitMap for high-color or true-color BitMaps.

SEE ALSO ScalosGfxFillARGBFromBitMap

NAME

ScalosGfxFillARGBFromBitMap -- Fill previously allocated gfxARGB array from CGFX BitMap

SYNOPSIS

ScalosGfxFillARGBFromBitMap(argbh, srcBM, maskPlane) A0    A1     A2

VOID ScalosGfxFillARGBFromBitMap(struct ARGBHeader *, struct BitMap *, PLANEPTR)

FUNCTION Fill a previously allocated gfxARGB array from a CyberGraphics BitMap. Can only be used for high-color or true-color BitMaps. If maskPlane if given, alpha information in argbh is created from maskPlane. If           maskPlane if NULL, alpha channel from source BitMap is used if available, otherwise alpha is set to opaque.

INPUTS argbh - completely initialized gfxARGB array srcBM - source BitMap to use for filling, depth must be at least 65536 colors maskPlane - Single bit mask plane. Dimensions must match width and height, with width rounded up to next 16-bit. May be NULL. RESULT nothing

NOTES Use ScalosGfxARGBSetAlpha for standard BitMaps (i.e. less than 256 colors).

SEE ALSO ScalosGfxCreateARGBFromBitMap

NAME

ScalosGfxWriteARGBToBitMap -- Copy gfxARGB array to BitMap

SYNOPSIS

ScalosGfxWriteARGBToBitMap(argbh, bm, numberOfColors, colorTable) A0    A1  D0              A2)

VOID ScalosGfxWriteARGBToBitMap(struct ARGBHeader *, struct BitMap *, ULONG, const ULONG *)

FUNCTION Creates a copy of gfxARGB array in destination BitMap, using pre-defined colorTable. Works only with standard BitMaps, i.e. with less than 256 colors. No sophisticated color reduction is performed, but bit-fit pens are decided via FindBestPen.

INPUTS argbh - gfxARGB array to read from bm - Standard BitMap to write to. BitMap must have less than 256 colors. numberOfColors - Number of entries in colorTable colorTable - color table to use for BitMap.

RESULT nothing

SEE ALSO

NAME

ScalosGfxMedianCut -- Create color-reduced BitMap from gfxARGB array

SYNOPSIS

sac = ScalosGfxMedianCut(argbh, depth, tagList) D0                      A0     D0     A1

struct ScalosBitMapAndColor *ScalosGfxMedianCut(struct ARGBHeader *, ULONG, struct TagItem *)

struct ScalosBitMapAndColor *ScalosGfxMedianCutTags(struct ARGBHeader *, ULONG, ULONG, ...)

FUNCTION Allocate and fill a color-reduced BitMap and a best-match color table from gfxARGB array. Either ordered dithering or Floyd-Steinberg dithering will be used for best results.

INPUTS argbh - gfxARGB array to read from depth - desired depth of generated BitMap, must be less than 256. tagList - array of tagItems, as desribed below, or NULL.

TAGS SCALOSGFX_MedianCutFlags - Flags as described below. SCALOSGFX_MedianCutFriendBitMap - struct BitMap *, friend BitMap to use for allocating result BitMap SCALOSGFX_MedianCutReservedColors - ULONG, number of reserved (unused) color entries at start of generated color table.

FLAGS SCALOSGFXFLAGF_MedianCut_FloydSteinberg - If set, Floyd-Steinberg dithering will be used for color reduction.

RESULT sac - created ScalosBitMapAndColor pointer, or NULL on failure.

SEE ALSO

NAME

ScalosGfxScaleARGBArray -- Scale given gfxARGB array

SYNOPSIS

argb = ScalosGfxScaleARGBArray(src, destWidth, destHeight, tagList) D0                            A0   A1         A2          A3

struct gfxARGB *ScalosGfxScaleARGBArray(const struct ARGBHeader *, ULONG *,       		ULONG *, struct TagItem *)

struct gfxARGB *ScalosGfxScaleARGBArrayTags(const struct ARGBHeader *, ULONG *,       		ULONG *, ULONG, ...)

FUNCTION Scales given gfxARGB array to a new size. Supports both enlarging and shrinking gfxARGB arrays.

INPUTS src - source gfxARGB array, will not be modified destWidth - desired width, might be internally corrected if SCALEFLAGF_CORRECTASPECT is set. destHeight - desired height, might be internally corrected if SCALEFLAGF_CORRECTASPECT is set. tagList - pointer to list of Tags, or NULL.

TAGS SCALOSGFX_ScaleARGBArrayFlags - ULONG, specify some operation flags as listed below.

FLAGS SCALEFLAGF_BICUBIC - allow bicubic scaling SCALEFLAGF_BILINEAR - allow bilinear scaling SCALEFLAGF_AVERAGE - allow average scaling SCALEFLAGF_DOUBLESIZE - allow intermediate step via double size, to improve quality SCALEFLAGF_CORRECTASPECT - allow correction of destWidth and destHeight to           meet source aspect ratio.

RESULT argb - Scaled copy of the source gfxARGB array

SEE ALSO

NAME

ScalosGfxScaleBitMap -- Scale given BitMap

SYNOPSIS

bm = ScalosGfxScaleBitMap(sbma, tagList) D0                       A0    A1

struct BitMap *ScalosGfxScaleBitMap(struct ScaleBitMapArg *, struct TagItem *)

struct BitMap *ScalosGfxScaleBitMapTags(struct ScaleBitMapArg *, ULONG, ...)

FUNCTION Scales given gfxARGB array to a new size. Supports both enlarging and shrinking gfxARGB arrays. INPUTS sbma - Structure with scaling parameters: sbma_SourceBM - The original BitMap. This BitMap is not modified. sbma_SourceWidth - Width of the source BitMap. sbma_SourceHeight - Height of the source BitMap sbma_DestWidth - Pointer to Width of resized BitMap, might be internally corrected if SCALEFLAGF_CORRECTASPECT is set. sbma_DestHeight - Pointer to Height of resized BitMap, might be internally corrected if SCALEFLAGF_CORRECTASPECT is set. sbma_NumberOfColors - number of entries in color table sbma_ColorTable - Color table for both source and resized BitMap. sbma_Flags - scaling flags: SCALEFLAGF_BICUBIC - allow bicubic scaling SCALEFLAGF_BILINEAR - allow bilinear scaling SCALEFLAGF_AVERAGE - allow average scaling SCALEFLAGF_DOUBLESIZE - allow intermediate scaling step with double size, to improve quality SCALEFLAGF_CORRECTASPECT - allow correction of destWidth and destHeight to meet source aspect ratio. sbma_ScreenBM - Firend BitMap used when allocating resized BitMap. tagList - pointer to list of Tags, or NULL.

TAGS none defined yet.

RESULT bm - Scaled copy of the original BitMap

SEE ALSO

NAME

ScalosGfxCalculateScaleAspect -- Adjust scaling dimensions to source aspect

SYNOPSIS

ScalosGfxCalculateScaleAspect(sourceWidth, sourceHeight, *destWidth, *destHeight) D0          D1            A0          A1

VOID ScalosGfxCalculateScaleAspect(ULONG, ULONG, ULONG *, ULONG *)

FUNCTION Adjusts either destWidth or destHeight according to aspect ratio of           sourceWidth and soureHeight.

INPUTS sourceWidth - Unscaled width. sourceHeight - Unscaled Height; destWidth - Pointer to desired scaled width. destHeight - Pointer to desired scaled width.

RESULT nothing

SEE ALSO

NAME

ScalosGfxBlitARGB -- Blit rectangle between two gfxARGB array rectangles.

SYNOPSIS

ScalosGfxBlitARGB(destARGB, srcARGB, destLeft, destTop, srcLeft, srcTop, width, height) A0       A1       D0        D1       D2       D3      D4     D5

VOID ScalosGfxBlitARGB(struct ARGBHeader *, const struct ARGBHeader *,       		LONG, LONG, LONG, LONG, LONG, LONG)

FUNCTION Blits user-defined rectangle from srcARGB at specified position into destARGB. No alpha handling is performed, destination pixel values are simply replaced by source pixels.

INPUTS destARGB - destination gfxARGB array srcARGB - source gfxARGB array destLeft - Left start position in destARGB. destTop - Top start position in destARGB. srcLeft - Left start position in srcARGB. srcTop - Top start position in srcARGB. width - Width of blitted rectangle. height - Height of blitted rectangle.

RESULT nothing

SEE ALSO

NAME

ScalosGfxFillRectARGB -- Blit two gfxARGB array rectangles

SYNOPSIS

ScalosGfxFillRectARGB(destARGB, fillARGB, left, top, width, height) A0       A1        D0    D1   D2     D3

VOID ScalosGfxFillRectARGB(struct ARGBHeader *, const struct gfxARGB *,       		LONG, LONG, LONG, LONG)

FUNCTION Blits fillARGB at specified position into destARGB. No alpha handling is           performed, destination pixel values are just replaced by source pixels. Blit always starts at (0,0) in fillARGB.

INPUTS destARGB - destination gfxARGB array. fillARGB - source gfxARGB array. left - Left start position in destARGB. top - Top start position in destARGB. width - Width of blitted rectangle. height - Height of blitted rectangle.

RESULT nothing

SEE ALSO

NAME

ScalosGfxSetARGB -- Set entire gfxARGB array to given ARGB color

SYNOPSIS

ScalosGfxSetARGB(destARGB, fillARGB) A0        A1

VOID ScalosGfxSetARGB(struct ARGBHeader *, const struct gfxARGB *)

FUNCTION Set all pixels in entire gfxARGB array to the given ARGB color.

INPUTS destARGB - gfxARGB array to be changed. fillARGB - ARGB value to set pixels to.

RESULT nothing

SEE ALSO

NAME

ScalosGfxNewColorMap -- Allocate new color table for ScalosBitMapAndColor

SYNOPSIS

success = ScalosGfxNewColorMap(sac, colorMap, colorEntries) D0                            A0   A1        D0

BOOL ScalosGfxNewColorMap(struct ScalosBitMapAndColor *, const ULONG *, ULONG)

FUNCTION Allocates a new color table for ScalosBitMapAndColor. The new color table is           filled with the RGB values from colorMap. Any previously color table in ScalosBitMapAndColor is freed.

INPUTS sac - ScalosBitMapAndColor where to store new color table. colorMap - RGB values for new color table colorEntries - Desired number of entries in new color table

RESULT success - TRUE if new color table was successfully allocated, FALSE on failure.

SEE ALSO

NAME

ScalosGfxARGBRectMult -- Multiply RGB value with given factor

SYNOPSIS

ScalosGfxARGBRectMult(rp, numerator, denominator, xMin, yMin, xMax, yMax) A0 A1         A2           D0    D1    D2    D3

VOID ScalosGfxARGBRectMult(struct RastPort *, const struct gfxARGB *,       		const struct gfxARGB *, WORD, WORD, WORD, WORD)

FUNCTION Multiplies RGB values of pixels within a specified rectangle with (numerator/denominator). Overflow is clipped to maximum RGB value (255). Works only with CyberGraphics generated, high-color or true-color BitMaps. Takes Layers in RastPort into account.

INPUTS rp - RastPort with the BitMap to be modified. numerator - Scaling factor as numerator:denominator denominator - Scaling factor as numerator:denominator xMin - Left start of modified rectangle. yMin - Top start of modified rectangle. xMax - Right end of modified rectangle. yMax - Bottom end of modified rectangle.

RESULT nothing

SEE ALSO

NAME

ScalosGfxBlitARGBAlpha -- Alpha blit from gfxARGB array into RastPort

SYNOPSIS

ScalosGfxBlitARGBAlpha(rp, srcH, destLeft, destTop, srcLeft, srcTop, width, height) A0 A1    D0        D1       D2       D3      D4     D5

VOID ScalosGfxBlitARGBAlpha (struct RastPort *, const struct ARGBHeader *,       		ULONG, ULONG, ULONG, ULONG, ULONG, ULONG)

FUNCTION Blit a rectangular area from source gfxARGB array into destination RastPort. Alpha (transparency) information in           source gfxARGB array is fully accounted for. Destination RastPort may have Layers.

INPUTS rp - Destination, this RastPort is been drawn to. srcH - Source gfxARGB array destLeft - Left offset in destination RastPort. destTop - Top offset in destination RastPort. srcLeft - Left offset in source gfxARGB array. srcTop - Left offset in source gfxARGB array. width - Width of blit rectangle. height - Height of blit rectangle.

RESULT nothing

NOTES

SEE ALSO ScalosGfxBlitARGBAlphaTagList

NAME

ScalosGfxBlitARGBAlphaTagList -- Alpha blit from gfxARGB array into RastPort

SYNOPSIS

ScalosGfxBlitARGBAlphaTagList(rp, srcH, destLeft, destTop, srcSize, tagList) A0 A1    D0        D1       A3       A2

VOID ScalosGfxBlitARGBAlphaTagList(struct RastPort *, const struct ARGBHeader *,       		ULONG, ULONG, const struct IBox *, struct TagItem *)

VOID ScalosGfxBlitARGBAlphaTags(struct RastPort *, const struct ARGBHeader *,       		ULONG, ULONG, const struct IBox *, ULONG, ...)

FUNCTION

INPUTS rp - Destination, this RastPort is been drawn to. srcH - Source gfxARGB array destLeft - Left offset in destination RastPort. destTop - Top offset in destination RastPort. srcSize - IBox defining both left/top offset in source gfxARGB array, and size of blit rectangle. tagList - pointer to list of Tags, or NULL.

TAGS SCALOSGFX_BlitIconHilight - const struct ARGB *, ARGB value to use for highlighting.Its RGB values are added to the destination pixels, with clipping to 0..255 range. SCALOSGFX_BlitIconAlpha - const UBYTE *, specify alpha array for icon. SCALOSGFX_BlitIconTransparency - ULONG, specify alpha for icon, 0...255. RESULT nothing

SEE ALSO ScalosGfxBlitARGBAlpha

NAME

ScalosGfxBlitIcon -- Alpha blit from RastPort to RastPort

SYNOPSIS

ScalosGfxBlitIcon(rpBackground, rpIcon, left, top, width, height, tagList) A0           A1      D0    D1   D2     D3      A2

VOID ScalosGfxBlitIcon(struct RastPort *, struct RastPort *,       		ULONG, ULONG, ULONG, ULONG, struct TagItem *)

VOID ScalosGfxBlitIconTags(struct RastPort *, struct RastPort *,       		ULONG, ULONG, ULONG, ULONG, ULONG, ...)

FUNCTION Blit a rectangular area from rpIcon into rpBackground, with full alpha (transparency) support. This function supports RastPorts with Layers.

INPUTS rpBackground - Target RastPort. rpIcon - Source RastPort. The BitMap of this RastPort is           not modified. left - left start of blit in rpBackground top - top start of blit in rpBackground width - width of the blitting rectangle height - height of the blitting rectangle tagList - pointer to list of Tags, or NULL.

TAGS SCALOSGFX_BlitIconHilight - const struct ARGB *, ARGB value to use for highlighting. Its RGB values are added to the destination pixels, with clipping to 0..255 range. SCALOSGFX_BlitIconAlpha - const UBYTE *, specify alpha array for icon. SCALOSGFX_BlitIconTransparency - ULONG, specify alpha for icon, 0...255.

RESULT nothing

SEE ALSO