ShapeUpAPI.h File Reference

#include "shapefile.h"
#include <string>
#include <vector>

Classes

struct  tagSUHookData
struct  tagSUShapeSelChangeHookData
struct  tagSUPreRemoveThemeHookData
struct  tagSUPreRemoveShapeHookData
struct  tagSUMouseHookData
struct  tagSUToolBarButtonHookData
struct  tagSUMenuItemHookData
struct  tagSUAddMenuItemHookData
struct  tagSUFileFormatHandlerHookData
struct  tagSUAddFileFormatHandlerHookData
struct  tagSUDeserializeHookData
struct  tagSUAddJavaScriptInvokeHookData
struct  tagSUJavaScriptArgument
struct  tagSUJavaScriptInvokeHookData
struct  tagSUARGAddHook
struct  tagSUARGRemoveHook
struct  tagSUARGGetErrorDescription
struct  tagSUARGCreateToolBar
struct  tagSUARGGetWorkspace
struct  tagSUARGSetStatusBarPaneInfo
struct  tagSUARGAllocateStatusBarPane
struct  tagSUARGGetHandle
struct  tagSUARGCreateNewTheme
struct  tagSUARGCreateNewThemeFromSelection
struct  tagSUARGGetBounds
struct  tagSUARGLog
struct  tagSUARGBrowseTheme
struct  tagSUARGGetSize
struct  tagSUARGGPtoDP
struct  tagSUARGDPtoGP
struct  tagSUARGGetHWND
struct  tagSUARGRepaint
struct  tagSUARGDraw
struct  tagSUARGSetPoint
struct  tagSUARGSetDouble
struct  tagSUARGZoomToSelection
struct  tagSUARGZoomToExtent
struct  tagSUARGAddShape
struct  tagSUARGReplaceShapeData
struct  tagSUARGDeleteShape
struct  tagSUARGGetBOOL
struct  tagSUARGSetBOOL
struct  tagSUARGGetText
struct  tagSUARGSetText
struct  tagSUARGGetTextByIndex
struct  tagSUARGSetTextByIndex
struct  tagSUARGGetDWORD
struct  tagSUARGSetDWORD
struct  tagSUARGGetInteractionState
struct  tagSUARGSetInteractionState
struct  tagSUARGGetUnsigned
struct  tagSUARGGetUnsignedByIndex
struct  tagSUARGSetUnsigned
struct  tagSUARGGetHandleByIndex
struct  tagSUARGGetCoordinate
struct  tagSUARGGetClosestPoint
struct  tagSUARGGetShapeType
struct  tagSUARGGetIntersectingShapes
struct  tagSUARGGetInfoTip
struct  tagSUARGGetFont
struct  tagSUARGGetShapesByQuery
struct  tagSUARGGetShapesInRect
struct  tagSUARGIsShapeSelected
struct  tagSUARGSelectShape
struct  tagSUARGGetAttribute
struct  tagSUARGSetAttribute
struct  tagSUARGSetAttributes
struct  tagSUARGGetShapeBytes
struct  tagSUARGSetButtonBOOL
struct  tagSUARGBeginProgress
struct  tagSUARGSetFloat
struct  tagSUARGAddAttribute
struct  tagSUARGGetAttributeType
struct  tagSUARGDeleteAttribute
struct  tagSUARGJSCallFunction
struct  tagSUARGLoadJavaScript
struct  tagSUARGWantUpdate
struct  tagSUARGGetColor
struct  tagSUARGSetColor
struct  tagSUARGBatchAddShape
struct  tagSUARGRemoveTheme
struct  tagSUARGSetRasterImage
struct  tagSUARGSetSerialData
struct  tagSUARGAddDataPage
struct  tagSUARGAllocate
struct  tagSUARGGetAttributeIndex
struct  tagSUImport
struct  tagSUExport
class  SUPoint
 Representation of a integer based position or vector. More...
class  SUPointf
 Representation of a floating point double precision based position or vector. More...
class  SUSize
 Representation of a integer based size in two dimensions. More...
class  SUSizef
 Representation of a floating point double precision based size in two dimensions. More...
class  SURectf
 Representation of a floating point double precision based axis-aligned rectangle. More...
class  SUObject
 Base class for ShapeUp object classes. More...
class  SUException
 A wrapper class for error return values. More...
class  SUMenuItem
 Handles a single ShapeUp menu item. More...
class  SUToolBar
 Handles a plug-in defined toolbar. More...
class  SUStatusBar
 Represents the ShapeUp status bar. More...
class  SURecordset
 Multi-purpose recordset class. More...
class  SUDataPage
 Handles custom data pages in ShapeUp. More...
class  SUJavaScript
 Handles JavaScripts in ShapeUp. More...
class  SUMap
 Represents the ShapeUp map window. More...
class  SUShape
 Handles a shape object in ShapeUp. More...
class  SUTheme
 Represents a ShapeUp theme or layer. More...
class  SUWorkspace
 Wrapper for a ShapeUp workspace. More...

Defines

VERSION
The version of this file.
See also:
fnVersion()


#define SHAPEUP_API_VERSION   100
JavaScriptInvokeHookData flags
The JavaScriptInvokeHookData flags are used in the JavaScriptInvokeHookData struct.

#define JSIHDF_DEFAULT   0x00000000
#define JSIHDF_TREATRETURNASSINGLEVALUE   0x00000001
MENUITEMTYPE
The MENUITEMTYPES are indicators to where ShapeUp will add new menu items. The SUHOOKFUNC defined in the GPI will receive a notification with args being a pointer to a SUMenuItemHookData.

#define __MENUITEMTYPE_NIL__   0x0000
#define MENUITEMTYPE_ADDNEWLAYER   0x0001
#define MENUITEMTYPE_LOADLAYER   0x0002
#define MENUITEMTYPE_ADVANCEDSELECTION   0x0003
#define MENUITEMTYPE_ADVANCEDEDIT   0x0004
#define MENUITEMTYPE_EXPORTLAYER   0x0005
#define MENUITEMTYPE_TOOLS   0x0006
#define MENUITEMTYPE_COPYSPECIAL   0x0007
#define __MENUITEMTYPE_COUNT__   0x0008
HOOKTYPE
The hook types are used in the GPI hook function, SUHOOKFUNC, set by the plug-in in SUImport on start-up.
See also:
fnInit, SUExport, SUImport, SUHOOKFUNC


#define __HOOKTYPE_NIL__   0x0000
#define HOOKTYPE_POSTDRAW   0x0001
#define HOOKTYPE_IDLE   0x0002
#define HOOKTYPE_MOUSEMOVE   0x0003
#define HOOKTYPE_SHAPESELCHANGE   0x0004
#define HOOKTYPE_PRECLOSEWORKSPACE   0x0005
#define HOOKTYPE_PREREMOVETHEME   0x0006
#define HOOKTYPE_LBUTTONDOWN   0x0007
#define HOOKTYPE_LBUTTONUP   0x0008
#define HOOKTYPE_TOOLBARBUTTON   0x0009
#define HOOKTYPE_MENUITEM   0x000A
#define HOOKTYPE_PREREMOVESHAPE   0x000B
#define HOOKTYPE_WANTUPDATE   0x000C
#define HOOKTYPE_FILEFORMATHANDLER   0x000D
#define HOOKTYPE_DESERIALIZE   0x000E
#define HOOKTYPE_WORKSPACEREADY   0x000F
#define HOOKTYPE_JAVASCRIPTINVOKE   0x0010
#define HOOKTYPE_LAYERSELCHANGE   0x0011
#define __HOOKTYPE_COUNT__   0x0012
MAPSTATE
The various MAPSTATE defines are used with functions Map_GetInteractionState() and Map_SetInteractionState(). States supplied by a GPI must be in the range [MAPSTATE_PLUGINSTATEFIRST, MAPSTATE_PLUGINSTATELAST]

#define __MAPSTATE_NIL__   0x0000
#define MAPSTATE_SINGLESELECT   0x0001
#define MAPSTATE_RECTSELECT   0x0002
#define MAPSTATE_RECTSELECTTRACKING   0x0003
#define MAPSTATE_CIRCLESELECT   0x0004
#define MAPSTATE_CIRCLESELECTTRACKING   0x0005
#define MAPSTATE_PAN   0x0006
#define MAPSTATE_PANNING   0x0007
#define MAPSTATE_ZOOMIN   0x0008
#define MAPSTATE_ZOOMINTRACKING   0x0009
#define MAPSTATE_ZOOMOUT   0x000A
#define MAPSTATE_MEASURING   0x000B
#define MAPSTATE_DRAWING   0x000C
#define MAPSTATE_ADJUSTVERTEX   0x000D
#define MAPSTATE_ADJUSTINGVERTEX   0x000E
#define MAPSTATE_ADDVERTEX   0x000F
#define MAPSTATE_ADDINGVERTEX   0x0010
#define MAPSTATE_POLYGONSELECT   0x0011
#define MAPSTATE_POLYGONSELECTTRACKING   0x0012
#define MAPSTATE_SPLITOBJECT   0x0013
#define MAPSTATE_SPLITTINGOBJECT   0x0014
#define __MAPSTATE_COUNT__   0x0015
#define MAPSTATE_CUSTOM   0x00FF
#define MAPSTATE_PLUGINSTATEFIRST   0x0100
#define MAPSTATE_PLUGINSTATELAST   0x01FF
ATTRIBUTETYPE
Attribute types are used to determine the types of the attributes in a ShapeUp layer. They are also used when adding new attributes to a layer.

Any of the types can be combined with the ATTRIBUTETYPE_PRIMARYKEY flag to indicate that the attribute is part of a primary key.

#define ATTRIBUTETYPE_STRING   0
#define ATTRIBUTETYPE_INT   1
#define ATTRIBUTETYPE_DOUBLE   2
#define ATTRIBUTETYPE_DATE   3
#define ATTRIBUTETYPE_BOOL   4
#define ATTRIBUTETYPE_PRIMARYKEY   0x80000000
PENSTYLE
Pen styles are used to create visual effects for rendered lines.

#define PENSTYLE_SOLID   0
#define PENSTYLE_DASH   1
#define PENSTYLE_DOT   2
#define PENSTYLE_DASHDOT   3
#define PENSTYLE_DASHDOTDOT   4
#define __PENSTYLE_COUNT__   0x0005
FNTYPE
Function specifiers used in calls to SUExport::ShapeUp_Call().

#define __FNTYPE_NIL__   0x0000
#define FNTYPE_SHAPEUP_ADDHOOK   0x0001
#define FNTYPE_SHAPEUP_REMOVEHOOK   0x0002
#define FNTYPE_SHAPEUP_REMOVEALLHOOKS   0x0003
#define FNTYPE_SHAPEUP_GETERRORDESCRIPTION   0x0004
#define FNTYPE_SHAPEUP_GETWORKSPACECOUNT   0x0005
#define FNTYPE_SHAPEUP_GETWORKSPACE   0x0006
#define FNTYPE_SHAPEUP_GETACTIVEWORKSPACE   0x0007
#define FNTYPE_SHAPEUP_HASJAVASCRIPTSUPPORT   0x005A
#define FNTYPE_SHAPEUP_WANTUPDATE   0x005B
#define FNTYPE_SHAPEUP_ISVALIDHANDLE   0x005C
#define FNTYPE_SHAPEUP_ALLOCATE   0x0074
#define FNTYPE_SHAPEUP_DEALLOCATE   0x0075
#define FNTYPE_SHAPEUP_GETVERSION   0x0076
#define FNTYPE_SHAPEUP_SETSTATUSBARTEXT   0x0069
#define FNTYPE_SHAPEUP_SETSTATUSBARPANEINFO   0x0008
#define FNTYPE_SHAPEUP_ALLOCATESTATUSBARPANE   0x004A
#define FNTYPE_SHAPEUP_RELEASESTATUSBARPANE   0x004B
#define FNTYPE_SHAPEUP_BEGINPROGRESS   0x004F
#define FNTYPE_SHAPEUP_SETPROGRESS   0x0050
#define FNTYPE_SHAPEUP_ENDPROGRESS   0x0051
#define FNTYPE_TOOLBAR_CREATE   0x0042
#define FNTYPE_TOOLBAR_ISVISIBLE   0x0079
#define FNTYPE_TOOLBAR_GETBUTTONCOUNT   0x0043
#define FNTYPE_TOOLBAR_SETBUTTONENABLED   0x0044
#define FNTYPE_TOOLBAR_SETBUTTONCHECKED   0x0045
#define FNTYPE_MENUITEM_SETENABLED   0x004E
#define FNTYPE_WORKSPACE_GETMAPWINDOW   0x0009
#define FNTYPE_WORKSPACE_GETTHEMECOUNT   0x000A
#define FNTYPE_WORKSPACE_GETTHEME   0x000B
#define FNTYPE_WORKSPACE_GETSELECTEDTHEME   0x0055
#define FNTYPE_WORKSPACE_GETSELECTEDTHEMES   0x004D
#define FNTYPE_WORKSPACE_GETSELECTIONCOUNT   0x0078
#define FNTYPE_WORKSPACE_CREATENEWTHEME   0x000C
#define FNTYPE_WORKSPACE_CREATENEWTHEMEFROMSELECTION   0x007E
#define FNTYPE_WORKSPACE_GETBOUNDS   0x000D
#define FNTYPE_WORKSPACE_LOG   0x000E
#define FNTYPE_WORKSPACE_ISACTIVE   0x000F
#define FNTYPE_WORKSPACE_BROWSETHEME   0x0010
#define FNTYPE_WORKSPACE_REFRESH   0x0048
#define FNTYPE_WORKSPACE_LOADJAVASCRIPT   0x0056
#define FNTYPE_WORKSPACE_GETCOMMENT   0x005D
#define FNTYPE_WORKSPACE_SETCOMMENT   0x005E
#define FNTYPE_WORKSPACE_REMOVETHEME   0x006A
#define FNTYPE_WORKSPACE_SETSERIALDATA   0x006C
#define FNTYPE_WORKSPACE_ADDDATAPAGE   0x006E
#define FNTYPE_WORKSPACE_CLEARSELECTION   0x0073
#define FNTYPE_DATAPAGE_REMOVE   0x006F
#define FNTYPE_DATAPAGE_GETHWND   0x0070
#define FNTYPE_JAVASCRIPT_RUN   0x0057
#define FNTYPE_JAVASCRIPT_CALLFUNCTION   0x0058
#define FNTYPE_JAVASCRIPT_CLOSE   0x0059
#define FNTYPE_MAP_GETBOUNDS   0x0011
#define FNTYPE_MAP_GETVIEWSIZE   0x0012
#define FNTYPE_MAP_GPTODP   0x0013
#define FNTYPE_MAP_DPTOGP   0x0014
#define FNTYPE_MAP_GETHWND   0x0015
#define FNTYPE_MAP_REPAINT   0x0016
#define FNTYPE_MAP_DRAW   0x0017
#define FNTYPE_MAP_CENTERMAP   0x003A
#define FNTYPE_MAP_ZOOM   0x003B
#define FNTYPE_MAP_ZOOMTOSELECTION   0x003C
#define FNTYPE_MAP_ZOOMTOEXTENT   0x003D
#define FNTYPE_MAP_GETINTERACTIONSTATE   0x003E
#define FNTYPE_MAP_SETINTERACTIONSTATE   0x003F
#define FNTYPE_THEME_ADDSHAPE   0x0018
#define FNTYPE_THEME_BATCHADDSHAPE   0x0063
#define FNTYPE_THEME_REPLACESHAPEDATA   0x0019
#define FNTYPE_THEME_DELETESHAPE   0x001A
#define FNTYPE_THEME_ISSELECTED   0x001B
#define FNTYPE_THEME_ISREADONLY   0x001C
#define FNTYPE_THEME_ISVISIBLE   0x004C
#define FNTYPE_THEME_GETNAME   0x001D
#define FNTYPE_THEME_SETNAME   0x001E
#define FNTYPE_THEME_GETATTRIBUTECOUNT   0x001F
#define FNTYPE_THEME_GETSHAPECOUNT   0x0020
#define FNTYPE_THEME_GETSHAPE   0x0021
#define FNTYPE_THEME_GETSHAPEFROMINDEX   0x0022
#define FNTYPE_THEME_GETSHAPETYPE   0x0023
#define FNTYPE_THEME_GETBOUNDS   0x0024
#define FNTYPE_THEME_RECALCBOUNDS   0x0025
#define FNTYPE_THEME_GETINTERSECTINGSHAPES   0x0026
#define FNTYPE_THEME_GETSELECTIONCOUNT   0x0027
#define FNTYPE_THEME_GETSELECTEDSHAPES   0x0028
#define FNTYPE_THEME_GETINFOTIP   0x0029
#define FNTYPE_THEME_GETFONT   0x002A
#define FNTYPE_THEME_GETSHAPESBYQUERY   0x002B
#define FNTYPE_THEME_GETSHAPESINRECT   0x0040
#define FNTYPE_THEME_GETATTRIBUTENAME   0x0046
#define FNTYPE_THEME_GETATTRIBUTEINDEX   0x007D
#define FNTYPE_THEME_GETATTRIBUTETYPE   0x0077
#define FNTYPE_THEME_LOOKUPWORKSPACE   0x0049
#define FNTYPE_THEME_GETSELECTEDSHAPESINRECT   0x0052
#define FNTYPE_THEME_ADDATTRIBUTE   0x0053
#define FNTYPE_THEME_DELETEATTRIBUTE   0x0054
#define FNTYPE_THEME_SETATTRIBUTECOMMENT   0x0083
#define FNTYPE_THEME_GETCOMMENT   0x005F
#define FNTYPE_THEME_SETCOMMENT   0x0060
#define FNTYPE_THEME_GETPENCOLOR   0x0061
#define FNTYPE_THEME_SETPENCOLOR   0x0062
#define FNTYPE_THEME_GETFILLCOLOR   0x0065
#define FNTYPE_THEME_SETFILLCOLOR   0x0066
#define FNTYPE_THEME_GETPENWIDTH   0x0067
#define FNTYPE_THEME_SETPENWIDTH   0x0068
#define FNTYPE_THEME_GETPENSTYLE   0x0081
#define FNTYPE_THEME_SETPENSTYLE   0x0082
#define FNTYPE_THEME_SETRASTERIMAGE   0x006B
#define FNTYPE_THEME_SETSERIALDATA   0x006D
#define FNTYPE_THEME_CLEARSELECTION   0x0071
#define FNTYPE_THEME_SELECT   0x0072
#define FNTYPE_THEME_INVERTSELECTION   0x007F
#define FNTYPE_SHAPE_ISSELECTED   0x002C
#define FNTYPE_SHAPE_SELECT   0x002D
#define FNTYPE_SHAPE_GETSHAPETYPE   0x002E
#define FNTYPE_SHAPE_GETBOUNDS   0x002F
#define FNTYPE_SHAPE_GETPARTCOUNT   0x007A
#define FNTYPE_SHAPE_GETCOORDINATECOUNT   0x007B
#define FNTYPE_SHAPE_GETCOORDINATE   0x007C
#define FNTYPE_SHAPE_GETCLOSESTPOINT   0x0080
#define FNTYPE_SHAPE_GETATTRIBUTE   0x0030
#define FNTYPE_SHAPE_SETATTRIBUTE   0x0047
#define FNTYPE_SHAPE_SETATTRIBUTES   0x0064
#define FNTYPE_SHAPE_GETSHAPEBYTES   0x0031
#define FNTYPE_RECORDSET_NEXT   0x0032
#define FNTYPE_RECORDSET_PREV   0x0033
#define FNTYPE_RECORDSET_FIRST   0x0034
#define FNTYPE_RECORDSET_LAST   0x0035
#define FNTYPE_RECORDSET_GET   0x0036
#define FNTYPE_RECORDSET_EOF   0x0037
#define FNTYPE_RECORDSET_BOF   0x0038
#define FNTYPE_RECORDSET_CLOSE   0x0039
#define FNTYPE_RECORDSET_GETCOUNT   0x0041
#define __FNTYPE_COUNT__   0x0084
SURESULT
#define SURESULT_OK   0
#define SURESULT_FALSE   1
#define SURESULT_E_NOTIMPLEMENTED   2
#define SURESULT_E_NOSUCHERROR   3
#define SURESULT_E_INVALIDHANDLE   100
#define SURESULT_E_ILLEGALPARAM   101
#define SURESULT_E_UNSUPPORTEDSHAPETYPE   102
#define SURESULT_E_UNEXPECTEDSHAPETYPE   103
#define SURESULT_E_INDEXOUTOFBOUNDS   104
#define SURESULT_E_PERMISSIONDENIED   105
#define SURESULT_E_BUFFEROVERFLOW   106
#define SURESULT_E_INVALIDQUERY   107
#define SURESULT_E_UNKNOWNHOOKTYPE   108
#define SURESULT_E_OUTOFRESOURCES   109
#define SURESULT_E_SCRIPTERROR   110

Typedefs

typedef HANDLE SUHANDLE
typedef HRESULT SURESULT
typedef tagSUHookData SUHookData
typedef tagSUShapeSelChangeHookData SUShapeSelChangeHookData
typedef tagSUPreRemoveThemeHookData SUPreRemoveThemeHookData
typedef tagSUPreRemoveShapeHookData SUPreRemoveShapeHookData
typedef tagSUMouseHookData SUMouseHookData
typedef tagSUToolBarButtonHookData SUToolBarButtonHookData
typedef tagSUMenuItemHookData SUMenuItemHookData
typedef tagSUAddMenuItemHookData SUAddMenuItemHookData
typedef tagSUFileFormatHandlerHookData SUFileFormatHandlerHookData
typedef tagSUAddFileFormatHandlerHookData SUAddFileFormatHandlerHookData
typedef tagSUDeserializeHookData SUDeserializeHookData
typedef tagSUAddJavaScriptInvokeHookData SUAddJavaScriptInvokeHookData
typedef enum tagDataType DataType
typedef tagSUJavaScriptArgument SUJavaScriptArgument
typedef tagSUJavaScriptInvokeHookData SUJavaScriptInvokeHookData
typedef SURESULT(__cdecl *) SUHOOKFUNC (SUHANDLE hWorkspace, int hookType, SUHookData *args)
typedef void(__cdecl *) PFNSETTINGS ()
typedef tagSUARGAddHook SUARGAddHook
typedef tagSUARGRemoveHook SUARGRemoveHook
typedef tagSUARGGetErrorDescription SUARGGetErrorDescription
typedef tagSUARGCreateToolBar SUARGCreateToolBar
typedef tagSUARGGetWorkspace SUARGGetWorkspace
typedef tagSUARGSetStatusBarPaneInfo SUARGSetStatusBarPaneInfo
typedef tagSUARGAllocateStatusBarPane SUARGAllocateStatusBarPane
typedef tagSUARGGetHandle SUARGGetHandle
typedef tagSUARGCreateNewTheme SUARGCreateNewTheme
typedef tagSUARGCreateNewThemeFromSelection SUARGCreateNewThemeFromSelection
typedef tagSUARGGetBounds SUARGGetBounds
typedef tagSUARGLog SUARGLog
typedef tagSUARGBrowseTheme SUARGBrowseTheme
typedef tagSUARGGetSize SUARGGetSize
typedef tagSUARGGPtoDP SUARGGPtoDP
typedef tagSUARGDPtoGP SUARGDPtoGP
typedef tagSUARGGetHWND SUARGGetHWND
typedef tagSUARGRepaint SUARGRepaint
typedef tagSUARGDraw SUARGDraw
typedef tagSUARGSetPoint SUARGSetPoint
typedef tagSUARGSetDouble SUARGSetDouble
typedef tagSUARGZoomToSelection SUARGZoomToSelection
typedef tagSUARGZoomToExtent SUARGZoomToExtent
typedef tagSUARGAddShape SUARGAddShape
typedef tagSUARGReplaceShapeData SUARGReplaceShapeData
typedef tagSUARGDeleteShape SUARGDeleteShape
typedef tagSUARGGetBOOL SUARGGetBOOL
typedef tagSUARGSetBOOL SUARGSetBOOL
typedef tagSUARGGetText SUARGGetText
typedef tagSUARGSetText SUARGSetText
typedef tagSUARGGetTextByIndex SUARGGetTextByIndex
typedef tagSUARGSetTextByIndex SUARGSetTextByIndex
typedef tagSUARGGetDWORD SUARGGetDWORD
typedef tagSUARGSetDWORD SUARGSetDWORD
typedef tagSUARGGetInteractionState SUARGGetInteractionState
typedef tagSUARGSetInteractionState SUARGSetInteractionState
typedef tagSUARGGetUnsigned SUARGGetUnsigned
typedef tagSUARGGetUnsignedByIndex SUARGGetUnsignedByIndex
typedef tagSUARGSetUnsigned SUARGSetUnsigned
typedef tagSUARGGetHandleByIndex SUARGGetHandleByIndex
typedef tagSUARGGetCoordinate SUARGGetCoordinate
typedef tagSUARGGetClosestPoint SUARGGetClosestPoint
typedef tagSUARGGetShapeType SUARGGetShapeType
typedef tagSUARGGetIntersectingShapes SUARGGetIntersectingShapes
typedef tagSUARGGetInfoTip SUARGGetInfoTip
typedef tagSUARGGetFont SUARGGetFont
typedef tagSUARGGetShapesByQuery SUARGGetShapesByQuery
typedef tagSUARGGetShapesInRect SUARGGetShapesInRect
typedef tagSUARGIsShapeSelected SUARGIsShapeSelected
typedef tagSUARGSelectShape SUARGSelectShape
typedef tagSUARGGetAttribute SUARGGetAttribute
typedef tagSUARGSetAttribute SUARGSetAttribute
typedef tagSUARGSetAttributes SUARGSetAttributes
typedef tagSUARGGetShapeBytes SUARGGetShapeBytes
typedef tagSUARGSetButtonBOOL SUARGSetButtonBOOL
typedef tagSUARGBeginProgress SUARGBeginProgress
typedef tagSUARGSetFloat SUARGSetFloat
typedef tagSUARGAddAttribute SUARGAddAttribute
typedef tagSUARGGetAttributeType SUARGGetAttributeType
typedef tagSUARGDeleteAttribute SUARGDeleteAttribute
typedef tagSUARGJSCallFunction SUARGJSCallFunction
typedef tagSUARGLoadJavaScript SUARGLoadJavaScript
typedef tagSUARGWantUpdate SUARGWantUpdate
typedef tagSUARGGetColor SUARGGetColor
typedef tagSUARGSetColor SUARGSetColor
typedef tagSUARGBatchAddShape SUARGBatchAddShape
typedef tagSUARGRemoveTheme SUARGRemoveTheme
typedef tagSUARGSetRasterImage SUARGSetRasterImage
typedef tagSUARGSetSerialData SUARGSetSerialData
typedef tagSUARGAddDataPage SUARGAddDataPage
typedef tagSUARGAllocate SUARGAllocate
typedef tagSUARGGetAttributeIndex SUARGGetAttributeIndex
typedef tagSUImport SUImport
typedef SURESULT(__cdecl *) SUCall (int function, void *arg)
typedef tagSUExport SUExport

Enumerations

enum  tagDataType {
  DT_SUHANDLE = 0, DT_INT = 1, DT_STRING = 2, DT_DOUBLE = 3,
  DT_BOOL = 4, DT_COLOR = 5
}

Functions

SURESULT __cdecl fnInit (const SUExport *export)
size_t __cdecl fnVersion ()
const GUID *__cdecl fnGUID ()
void __cdecl fnTerminate ()
SURESULT ShapeUp_AddPostDrawHook (unsigned long userData)
SURESULT ShapeUp_AddIdleHook (unsigned long userData)
SURESULT ShapeUp_AddMouseMoveHook (unsigned long userData)
SURESULT ShapeUp_AddLButtonDownHook (unsigned long userData)
SURESULT ShapeUp_AddLButtonUpHook (unsigned long userData)
SURESULT ShapeUp_AddToolBarButtonHook (unsigned long userData)
SURESULT ShapeUp_AddNewLayerHook (unsigned long userData, const char *menuString, const char *menuDescr, void *pReserved, SUHANDLE *hMenuItem)
SURESULT ShapeUp_AddLoadLayerHook (unsigned long userData, const char *menuString, const char *menuDescr, void *pReserved, SUHANDLE *hMenuItem)
SURESULT ShapeUp_AddCopySpecialHook (unsigned long userData, const char *menuString, const char *menuDescr, void *pReserved, SUHANDLE *hMenuItem)
SURESULT ShapeUp_AddAdvancedSelectionHook (unsigned long userData, const char *menuString, const char *menuDescr, void *pReserved, SUHANDLE *hMenuItem)
SURESULT ShapeUp_AddAdvancedEditHook (unsigned long userData, const char *menuString, const char *menuDescr, void *pReserved, SUHANDLE *hMenuItem)
SURESULT ShapeUp_AddExportLayerHook (unsigned long userData, const char *menuString, const char *menuDescr, void *pReserved, SUHANDLE *hMenuItem)
SURESULT ShapeUp_AddRemoveLayerHook (unsigned long userData)
SURESULT ShapeUp_AddRemoveShapeHook (unsigned long userData)
SURESULT ShapeUp_AddFileFormatHandlerHook (unsigned long userData, const char *filterdescription, const char *pattern)
SURESULT ShapeUp_AddToolsHook (unsigned long userData, const char *menuString, const char *menuDescr, void *pReserved, SUHANDLE *hMenuItem)
SURESULT ShapeUp_AddDeserializeHook (unsigned long userData)
SURESULT ShapeUp_AddWorkspaceReadyHook (unsigned long userData)
SURESULT ShapeUp_AddJavaScriptInvokeHook (unsigned long userData, const char *properties[], const char *methods[])
SURESULT ShapeUp_AddShapeSelectionChangedHook (unsigned long userData)
SURESULT ShapeUp_AddLayerSelectionChangedHook (unsigned long userData)
SURESULT ShapeUp_RemoveMouseMoveHook ()
SURESULT ShapeUp_RemoveShapeSelectionChangedHook ()
SURESULT ShapeUp_RemoveLayerSelectionChangedHook ()
SURESULT ShapeUp_RemoveAllHooks ()
SURESULT ShapeUp_WantUpdate (unsigned long userData)
SURESULT ShapeUp_IsValidHandle (SUHANDLE handle, BOOL *valid)
SURESULT ShapeUp_Allocate (size_t count, void **bytes)
SURESULT ShapeUp_Deallocate (void *bytes)
char * ShapeUp_DuplicateString (const char *str)
SURESULT ShapeUp_GetVersion (char *buffer, size_t *bufferSize)
SURESULT ShapeUp_GetWorkspaceCount (size_t *count)
SURESULT ShapeUp_GetWorkspace (size_t index, SUHANDLE *hWorkspace)
SURESULT ShapeUp_GetActiveWorkspace (SUHANDLE *hWorkspace)
SURESULT ShapeUp_HasJavaScriptSupport (BOOL *support)
SURESULT ShapeUp_GetErrorDescription (SURESULT errCode, char *buffer, size_t *bufferSize)
SURESULT ShapeUp_SetStatusBarText (const char *text)
SURESULT ShapeUp_SetStatusBarPaneInfo (SUHANDLE hStatusPane, const char *text, HICON hIcon, void *pReserved)
SURESULT ShapeUp_AllocateStatusBarPane (size_t width, SUHANDLE *hStatusPane)
SURESULT ShapeUp_ReleaseStatusBarPane (SUHANDLE hStatusPane)
SURESULT ShapeUp_BeginProgress (const char *title, float progress, SUHANDLE *hProgress)
SURESULT ShapeUp_SetProgress (SUHANDLE hProgress, float progress)
SURESULT ShapeUp_EndProgress (SUHANDLE hProgress)
SURESULT MenuItem_SetEnabled (SUHANDLE hMenuItem, BOOL bEnabled)
SURESULT ToolBar_Create (HINSTANCE hInstResource, LPCTSTR lpszResourceName, const char *name, SUHANDLE *hToolbar)
SURESULT ToolBar_IsVisible (SUHANDLE hToolbar, BOOL *visible)
SURESULT ToolBar_GetButtonCount (SUHANDLE hToolbar, size_t *count)
SURESULT ToolBar_SetButtonEnabled (SUHANDLE hToolbar, UINT nID, BOOL bEnabled)
SURESULT ToolBar_SetButtonChecked (SUHANDLE hToolbar, UINT nID, BOOL bChecked)
SURESULT JavaScript_Run (SUHANDLE hJavaScript)
SURESULT JavaScript_CallFunction (SUHANDLE hJavaScript, const char *name)
SURESULT JavaScript_Close (SUHANDLE hJavaScript)
SURESULT Workspace_GetMapWindow (SUHANDLE hWorkspace, SUHANDLE *hMap)
SURESULT Workspace_GetThemeCount (SUHANDLE hWorkspace, size_t *count)
SURESULT Workspace_GetTheme (SUHANDLE hWorkspace, size_t nIndex, SUHANDLE *hTheme)
SURESULT Workspace_GetSelectedTheme (SUHANDLE hWorkspace, SUHANDLE *hTheme)
SURESULT Workspace_GetSelectedThemes (SUHANDLE hWorkspace, SUHANDLE *hRecordset)
SURESULT Workspace_GetSelectionCount (SUHANDLE hWorkspace, size_t *count)
SURESULT Workspace_CreateNewTheme (SUHANDLE hWorkspace, ShapeType type, const char *name, SUHANDLE *hTheme)
SURESULT Workspace_CreateNewThemeFromSelection (SUHANDLE hWorkspace, SUHANDLE hSourceTheme, const char *name, SUHANDLE *hTheme)
SURESULT Workspace_GetBounds (SUHANDLE hWorkspace, double *xmin, double *ymin, double *xmax, double *ymax)
SURESULT Workspace_Log (SUHANDLE hWorkspace, const char *line)
SURESULT Workspace_IsActive (SUHANDLE hWorkspace, BOOL *active)
SURESULT Workspace_BrowseTheme (SUHANDLE hWorkspace, const char *title, SUHANDLE *hTheme)
SURESULT Workspace_Refresh (SUHANDLE hWorkspace)
SURESULT Workspace_LoadJavaScript (SUHANDLE hWorkspace, const char *file, SUHANDLE *hJavaScript)
SURESULT Workspace_GetComment (SUHANDLE hWorkspace, char *buffer, size_t *bufferSize)
SURESULT Workspace_SetComment (SUHANDLE hWorkspace, const char *buffer)
SURESULT Workspace_RemoveTheme (SUHANDLE hWorkspace, SUHANDLE hTheme, BOOL *ok)
SURESULT Workspace_SetSerialData (SUHANDLE hWorkspace, size_t byteCount, const void *bytes)
SURESULT Workspace_AddDataPage (SUHANDLE hWorkspace, const char *name, HWND *page, SUHANDLE *hDataPage)
SURESULT Workspace_ClearSelection (SUHANDLE hWorkspace)
SURESULT Map_GetBounds (SUHANDLE hMap, double *xmin, double *ymin, double *xmax, double *ymax)
SURESULT Map_GetViewSize (SUHANDLE hMap, size_t *width, size_t *height)
SURESULT Map_GPtoDP (SUHANDLE hMap, double gpx, double gpy, int *dpx, int *dpy)
SURESULT Map_DPtoGP (SUHANDLE hMap, int dpx, int dpy, double *gpx, double *gpy)
SURESULT Map_GetHWND (SUHANDLE hMap, HWND *hWnd)
SURESULT Map_Repaint (SUHANDLE hMap, BOOL bFullRedraw)
SURESULT Map_Draw (SUHANDLE hMap, HDC hdc, size_t iw, size_t ih, double x, double y, double gw, double gh)
SURESULT Map_CenterMap (SUHANDLE hMap, double x, double y)
SURESULT Map_Zoom (SUHANDLE hMap, double factor)
SURESULT Map_ZoomToSelection (SUHANDLE hMap, SUHANDLE hTheme)
SURESULT Map_ZoomToExtent (SUHANDLE hMap, SUHANDLE hTheme)
SURESULT Map_GetInteractionState (SUHANDLE hMap, unsigned long *state)
SURESULT Map_SetInteractionState (SUHANDLE hMap, unsigned long state)
SURESULT Theme_AddShape (SUHANDLE hTheme, const CShapeRecord *shapeData, SUHANDLE *hShape)
SURESULT Theme_BatchAddShapeBegin (SUHANDLE hTheme)
SURESULT Theme_BatchAddShapeEnd (SUHANDLE hTheme)
SURESULT Theme_ReplaceShapeData (SUHANDLE hTheme, SUHANDLE hShape, const CShapeRecord *shapeData)
SURESULT Theme_DeleteShape (SUHANDLE hTheme, SUHANDLE hShape)
SURESULT Theme_IsSelected (SUHANDLE hTheme, BOOL *selected)
SURESULT Theme_IsReadOnly (SUHANDLE hTheme, BOOL *readonly)
SURESULT Theme_IsVisible (SUHANDLE hTheme, BOOL *visible)
SURESULT Theme_GetName (SUHANDLE hTheme, char *buffer, size_t *bufferSize)
SURESULT Theme_SetName (SUHANDLE hTheme, const char *buffer)
SURESULT Theme_GetAttributeCount (SUHANDLE hTheme, size_t *count)
SURESULT Theme_GetAttributeName (SUHANDLE hTheme, size_t column, char *buffer, size_t *bufferSize)
SURESULT Theme_GetAttributeType (SUHANDLE hTheme, size_t column, unsigned long *type)
SURESULT Theme_GetAttributeIndex (SUHANDLE hTheme, const char *name, size_t *index)
SURESULT Theme_GetShapeCount (SUHANDLE hTheme, size_t *count)
SURESULT Theme_GetShape (SUHANDLE hTheme, size_t nIndex, SUHANDLE *hShape)
SURESULT Theme_GetShapeFromIndex (SUHANDLE hTheme, size_t nIndex, SUHANDLE *hShape)
SURESULT Theme_GetShapeType (SUHANDLE hTheme, ShapeType *type)
SURESULT Theme_GetBounds (SUHANDLE hTheme, double *xmin, double *ymin, double *xmax, double *ymax)
SURESULT Theme_RecalcBounds (SUHANDLE hTheme)
SURESULT Theme_GetIntersectingShapes (SUHANDLE hTheme, SUHANDLE hShape, SUHANDLE *hRecordset)
SURESULT Theme_GetShapesInRect (SUHANDLE hTheme, double xmin, double ymin, double xmax, double ymax, BOOL bPartInRectOk, SUHANDLE *hRecordset)
SURESULT Theme_GetSelectionCount (SUHANDLE hTheme, size_t *count)
SURESULT Theme_GetSelectedShapes (SUHANDLE hTheme, SUHANDLE *hRecordset)
SURESULT Theme_GetSelectedShapesInRect (SUHANDLE hTheme, double xmin, double ymin, double xmax, double ymax, BOOL bPartInRectOk, SUHANDLE *hRecordset)
SURESULT Theme_GetInfoTip (SUHANDLE hTheme, SUHANDLE hShape, char *buffer, size_t *bufferSize)
SURESULT Theme_GetFont (SUHANDLE hTheme, LOGFONT *font, COLORREF *clr)
SURESULT Theme_GetShapesByQuery (SUHANDLE hTheme, const char *where, SUHANDLE *hRecordset)
SURESULT Theme_LookupWorkspace (SUHANDLE hTheme, SUHANDLE *hWorkspace)
SURESULT Theme_AddAttribute (SUHANDLE hTheme, unsigned long type, const char *name, size_t *index)
SURESULT Theme_DeleteAttribute (SUHANDLE hTheme, size_t index)
SURESULT Theme_SetAttributeComment (SUHANDLE hTheme, size_t index, const char *buffer)
SURESULT Theme_GetComment (SUHANDLE hTheme, char *buffer, size_t *bufferSize)
SURESULT Theme_SetComment (SUHANDLE hTheme, const char *buffer)
SURESULT Theme_GetPenColor (SUHANDLE hTheme, COLORREF *clr)
SURESULT Theme_SetPenColor (SUHANDLE hTheme, COLORREF clr)
SURESULT Theme_GetFillColor (SUHANDLE hTheme, COLORREF *clr)
SURESULT Theme_SetFillColor (SUHANDLE hTheme, COLORREF clr)
SURESULT Theme_GetPenWidth (SUHANDLE hTheme, size_t *width)
SURESULT Theme_SetPenWidth (SUHANDLE hTheme, size_t width)
SURESULT Theme_GetPenStyle (SUHANDLE hTheme, size_t *style)
SURESULT Theme_SetPenStyle (SUHANDLE hTheme, size_t style)
SURESULT Theme_SetRasterImage (SUHANDLE hTheme, HBITMAP hbm, double west, double south, double east, double north, const char *sourceHint)
SURESULT Theme_SetSerialData (SUHANDLE hTheme, size_t byteCount, const void *bytes)
SURESULT Theme_ClearSelection (SUHANDLE hTheme)
SURESULT Theme_Select (SUHANDLE hTheme, bool select)
SURESULT Theme_InvertSelection (SUHANDLE hTheme)
SURESULT Shape_IsSelected (SUHANDLE hShape, SUHANDLE hTheme, BOOL *selected)
SURESULT Shape_Select (SUHANDLE hShape, SUHANDLE hTheme, BOOL select)
SURESULT Shape_GetShapeType (SUHANDLE hShape, ShapeType *type)
SURESULT Shape_GetBounds (SUHANDLE hShape, double *xmin, double *ymin, double *xmax, double *ymax)
SURESULT Shape_GetPartCount (SUHANDLE hShape, size_t *count)
SURESULT Shape_GetCoordinateCount (SUHANDLE hShape, size_t part, size_t *count)
SURESULT Shape_GetCoordinate (SUHANDLE hShape, size_t part, size_t coordIndex, double *x, double *y, double *z)
SURESULT Shape_GetClosestPoint (SUHANDLE hShape, double refx, double refy, double *closestx, double *closesty)
SURESULT Shape_GetAttribute (SUHANDLE hShape, SUHANDLE hTheme, size_t column, char *buffer, size_t *bufferSize)
SURESULT Shape_SetAttribute (SUHANDLE hShape, SUHANDLE hTheme, size_t column, const char *data)
SURESULT Shape_GetShapeBytes (SUHANDLE hShape, unsigned char *buffer, size_t *bufferSize)
SURESULT Recordset_Next (SUHANDLE hRecordset)
SURESULT Recordset_Prev (SUHANDLE hRecordset)
SURESULT Recordset_First (SUHANDLE hRecordset)
SURESULT Recordset_Last (SUHANDLE hRecordset)
SURESULT Recordset_Get (SUHANDLE hRecordset, SUHANDLE *handle)
SURESULT Recordset_Eof (SUHANDLE hRecordset, BOOL *eof)
SURESULT Recordset_Bof (SUHANDLE hRecordset, BOOL *bof)
SURESULT Recordset_Close (SUHANDLE hRecordset)
SURESULT ShapeUp_AddSimpleHook_Helper (int ht, unsigned long ud, void *args)
SURESULT ShapeUp_RemoveHook_Helper (int hookType)
SURESULT DataPage_Remove (SUHANDLE hDataPage)
SURESULT DataPage_GetHWND (SUHANDLE hDataPage, HWND *hWnd)
SURESULT Theme_AddAttribute (SUHANDLE hTheme, unsigned long type, const char *name, const char *defaultval, size_t *index)
SURESULT Shape_SetAttributes (SUHANDLE hShape, SUHANDLE hTheme, size_t count, const char *data[])
SURESULT Recordset_GetCount (SUHANDLE hRecordset, size_t *count)

Variables

SUExport suapi

Define Documentation

#define __FNTYPE_COUNT__   0x0084

#define __FNTYPE_NIL__   0x0000

#define __HOOKTYPE_COUNT__   0x0012

Do not use. For internal use only.

#define __HOOKTYPE_NIL__   0x0000

Invalid value.

#define __MAPSTATE_COUNT__   0x0015

Do not use. For internal use only.

#define __MAPSTATE_NIL__   0x0000

Invalid value.

#define __MENUITEMTYPE_COUNT__   0x0008

Do not use. For internal use only.

#define __MENUITEMTYPE_NIL__   0x0000

Invalid value.

#define __PENSTYLE_COUNT__   0x0005

Do not use. For internal use only.

#define ATTRIBUTETYPE_BOOL   4

Boolean attribute.

#define ATTRIBUTETYPE_DATE   3

Date attribute.

#define ATTRIBUTETYPE_DOUBLE   2

Double precision floating point attribute.

#define ATTRIBUTETYPE_INT   1

Integer attribute.

#define ATTRIBUTETYPE_PRIMARYKEY   0x80000000

Indicates this attribute is part of a primary key.

#define ATTRIBUTETYPE_STRING   0

String attribute.

Examples:
example_loadergpi.cpp.

#define FNTYPE_DATAPAGE_GETHWND   0x0070

#define FNTYPE_DATAPAGE_REMOVE   0x006F

#define FNTYPE_JAVASCRIPT_CALLFUNCTION   0x0058

#define FNTYPE_JAVASCRIPT_CLOSE   0x0059

#define FNTYPE_JAVASCRIPT_RUN   0x0057

#define FNTYPE_MAP_CENTERMAP   0x003A

#define FNTYPE_MAP_DPTOGP   0x0014

#define FNTYPE_MAP_DRAW   0x0017

#define FNTYPE_MAP_GETBOUNDS   0x0011

#define FNTYPE_MAP_GETHWND   0x0015

#define FNTYPE_MAP_GETINTERACTIONSTATE   0x003E

#define FNTYPE_MAP_GETVIEWSIZE   0x0012

#define FNTYPE_MAP_GPTODP   0x0013

#define FNTYPE_MAP_REPAINT   0x0016

#define FNTYPE_MAP_SETINTERACTIONSTATE   0x003F

#define FNTYPE_MAP_ZOOM   0x003B

#define FNTYPE_MAP_ZOOMTOEXTENT   0x003D

#define FNTYPE_MAP_ZOOMTOSELECTION   0x003C

#define FNTYPE_MENUITEM_SETENABLED   0x004E

#define FNTYPE_RECORDSET_BOF   0x0038

#define FNTYPE_RECORDSET_CLOSE   0x0039

#define FNTYPE_RECORDSET_EOF   0x0037

#define FNTYPE_RECORDSET_FIRST   0x0034

#define FNTYPE_RECORDSET_GET   0x0036

#define FNTYPE_RECORDSET_GETCOUNT   0x0041

#define FNTYPE_RECORDSET_LAST   0x0035

#define FNTYPE_RECORDSET_NEXT   0x0032

#define FNTYPE_RECORDSET_PREV   0x0033

#define FNTYPE_SHAPE_GETATTRIBUTE   0x0030

#define FNTYPE_SHAPE_GETBOUNDS   0x002F

#define FNTYPE_SHAPE_GETCLOSESTPOINT   0x0080

#define FNTYPE_SHAPE_GETCOORDINATE   0x007C

#define FNTYPE_SHAPE_GETCOORDINATECOUNT   0x007B

#define FNTYPE_SHAPE_GETPARTCOUNT   0x007A

#define FNTYPE_SHAPE_GETSHAPEBYTES   0x0031

#define FNTYPE_SHAPE_GETSHAPETYPE   0x002E

#define FNTYPE_SHAPE_ISSELECTED   0x002C

#define FNTYPE_SHAPE_SELECT   0x002D

#define FNTYPE_SHAPE_SETATTRIBUTE   0x0047

#define FNTYPE_SHAPE_SETATTRIBUTES   0x0064

#define FNTYPE_SHAPEUP_ADDHOOK   0x0001

#define FNTYPE_SHAPEUP_ALLOCATE   0x0074

#define FNTYPE_SHAPEUP_ALLOCATESTATUSBARPANE   0x004A

#define FNTYPE_SHAPEUP_BEGINPROGRESS   0x004F

#define FNTYPE_SHAPEUP_DEALLOCATE   0x0075

#define FNTYPE_SHAPEUP_ENDPROGRESS   0x0051

#define FNTYPE_SHAPEUP_GETACTIVEWORKSPACE   0x0007

#define FNTYPE_SHAPEUP_GETERRORDESCRIPTION   0x0004

#define FNTYPE_SHAPEUP_GETVERSION   0x0076

#define FNTYPE_SHAPEUP_GETWORKSPACE   0x0006

#define FNTYPE_SHAPEUP_GETWORKSPACECOUNT   0x0005

#define FNTYPE_SHAPEUP_HASJAVASCRIPTSUPPORT   0x005A

#define FNTYPE_SHAPEUP_ISVALIDHANDLE   0x005C

#define FNTYPE_SHAPEUP_RELEASESTATUSBARPANE   0x004B

#define FNTYPE_SHAPEUP_REMOVEALLHOOKS   0x0003

#define FNTYPE_SHAPEUP_REMOVEHOOK   0x0002

#define FNTYPE_SHAPEUP_SETPROGRESS   0x0050

#define FNTYPE_SHAPEUP_SETSTATUSBARPANEINFO   0x0008

#define FNTYPE_SHAPEUP_SETSTATUSBARTEXT   0x0069

#define FNTYPE_SHAPEUP_WANTUPDATE   0x005B

#define FNTYPE_THEME_ADDATTRIBUTE   0x0053

#define FNTYPE_THEME_ADDSHAPE   0x0018

#define FNTYPE_THEME_BATCHADDSHAPE   0x0063

#define FNTYPE_THEME_CLEARSELECTION   0x0071

#define FNTYPE_THEME_DELETEATTRIBUTE   0x0054

#define FNTYPE_THEME_DELETESHAPE   0x001A

#define FNTYPE_THEME_GETATTRIBUTECOUNT   0x001F

#define FNTYPE_THEME_GETATTRIBUTEINDEX   0x007D

#define FNTYPE_THEME_GETATTRIBUTENAME   0x0046

#define FNTYPE_THEME_GETATTRIBUTETYPE   0x0077

#define FNTYPE_THEME_GETBOUNDS   0x0024

#define FNTYPE_THEME_GETCOMMENT   0x005F

#define FNTYPE_THEME_GETFILLCOLOR   0x0065

#define FNTYPE_THEME_GETFONT   0x002A

#define FNTYPE_THEME_GETINFOTIP   0x0029

#define FNTYPE_THEME_GETINTERSECTINGSHAPES   0x0026

#define FNTYPE_THEME_GETNAME   0x001D

#define FNTYPE_THEME_GETPENCOLOR   0x0061

#define FNTYPE_THEME_GETPENSTYLE   0x0081

#define FNTYPE_THEME_GETPENWIDTH   0x0067

#define FNTYPE_THEME_GETSELECTEDSHAPES   0x0028

#define FNTYPE_THEME_GETSELECTEDSHAPESINRECT   0x0052

#define FNTYPE_THEME_GETSELECTIONCOUNT   0x0027

#define FNTYPE_THEME_GETSHAPE   0x0021

#define FNTYPE_THEME_GETSHAPECOUNT   0x0020

#define FNTYPE_THEME_GETSHAPEFROMINDEX   0x0022

#define FNTYPE_THEME_GETSHAPESBYQUERY   0x002B

#define FNTYPE_THEME_GETSHAPESINRECT   0x0040

#define FNTYPE_THEME_GETSHAPETYPE   0x0023

#define FNTYPE_THEME_INVERTSELECTION   0x007F

#define FNTYPE_THEME_ISREADONLY   0x001C

#define FNTYPE_THEME_ISSELECTED   0x001B

#define FNTYPE_THEME_ISVISIBLE   0x004C

#define FNTYPE_THEME_LOOKUPWORKSPACE   0x0049

#define FNTYPE_THEME_RECALCBOUNDS   0x0025

#define FNTYPE_THEME_REPLACESHAPEDATA   0x0019

#define FNTYPE_THEME_SELECT   0x0072

#define FNTYPE_THEME_SETATTRIBUTECOMMENT   0x0083

#define FNTYPE_THEME_SETCOMMENT   0x0060

#define FNTYPE_THEME_SETFILLCOLOR   0x0066

#define FNTYPE_THEME_SETNAME   0x001E

#define FNTYPE_THEME_SETPENCOLOR   0x0062

#define FNTYPE_THEME_SETPENSTYLE   0x0082

#define FNTYPE_THEME_SETPENWIDTH   0x0068

#define FNTYPE_THEME_SETRASTERIMAGE   0x006B

#define FNTYPE_THEME_SETSERIALDATA   0x006D

#define FNTYPE_TOOLBAR_CREATE   0x0042

#define FNTYPE_TOOLBAR_GETBUTTONCOUNT   0x0043

#define FNTYPE_TOOLBAR_ISVISIBLE   0x0079

#define FNTYPE_TOOLBAR_SETBUTTONCHECKED   0x0045

#define FNTYPE_TOOLBAR_SETBUTTONENABLED   0x0044

#define FNTYPE_WORKSPACE_ADDDATAPAGE   0x006E

#define FNTYPE_WORKSPACE_BROWSETHEME   0x0010

#define FNTYPE_WORKSPACE_CLEARSELECTION   0x0073

#define FNTYPE_WORKSPACE_CREATENEWTHEME   0x000C

#define FNTYPE_WORKSPACE_CREATENEWTHEMEFROMSELECTION   0x007E

#define FNTYPE_WORKSPACE_GETBOUNDS   0x000D

#define FNTYPE_WORKSPACE_GETCOMMENT   0x005D

#define FNTYPE_WORKSPACE_GETMAPWINDOW   0x0009

#define FNTYPE_WORKSPACE_GETSELECTEDTHEME   0x0055

#define FNTYPE_WORKSPACE_GETSELECTEDTHEMES   0x004D

#define FNTYPE_WORKSPACE_GETSELECTIONCOUNT   0x0078

#define FNTYPE_WORKSPACE_GETTHEME   0x000B

#define FNTYPE_WORKSPACE_GETTHEMECOUNT   0x000A

#define FNTYPE_WORKSPACE_ISACTIVE   0x000F

#define FNTYPE_WORKSPACE_LOADJAVASCRIPT   0x0056

#define FNTYPE_WORKSPACE_LOG   0x000E

#define FNTYPE_WORKSPACE_REFRESH   0x0048

#define FNTYPE_WORKSPACE_REMOVETHEME   0x006A

#define FNTYPE_WORKSPACE_SETCOMMENT   0x005E

#define FNTYPE_WORKSPACE_SETSERIALDATA   0x006C

#define HOOKTYPE_DESERIALIZE   0x000E

args is of type SUDeserializeHookData*.

#define HOOKTYPE_FILEFORMATHANDLER   0x000D

args is of type SUFileFormatHandlerHookData*.

#define HOOKTYPE_IDLE   0x0002

args is of type SUHookData*.

Examples:
example_hooks.cpp, and example_sutoolbar.cpp.

#define HOOKTYPE_JAVASCRIPTINVOKE   0x0010

args is of type SUJavaScriptInvokeHookData*.

Examples:
example_javascriptable.cpp.

#define HOOKTYPE_LAYERSELCHANGE   0x0011

args is of type SUHookData*.

#define HOOKTYPE_LBUTTONDOWN   0x0007

args is of type SUMouseHookData*.

Examples:
example_hooks.cpp.

#define HOOKTYPE_LBUTTONUP   0x0008

args is of type SUMouseHookData*.

#define HOOKTYPE_MENUITEM   0x000A

args is of type SUMenuItemHookData*.

Examples:
example_loadergpi.cpp.

#define HOOKTYPE_MOUSEMOVE   0x0003

args is of type SUMouseHookData*.

#define HOOKTYPE_POSTDRAW   0x0001

args is of type SUHookData*.

#define HOOKTYPE_PRECLOSEWORKSPACE   0x0005

args is of type SUHookData*.

#define HOOKTYPE_PREREMOVESHAPE   0x000B

args is of type SUPreRemoveShapeHookData*.

#define HOOKTYPE_PREREMOVETHEME   0x0006

args is of type SUPreRemoveThemeHookData*.

Examples:
example_hooks.cpp.

#define HOOKTYPE_SHAPESELCHANGE   0x0004

args is of type SUShapeSelChangeHookData*.

#define HOOKTYPE_TOOLBARBUTTON   0x0009

args is of type SUToolBarButtonHookData*.

Examples:
example_hooks.cpp, and example_sutoolbar.cpp.

#define HOOKTYPE_WANTUPDATE   0x000C

args is of type SUHookData*.

#define HOOKTYPE_WORKSPACEREADY   0x000F

args is of type SUHookData*.

Examples:
example_sudatapage.cpp.

#define JSIHDF_DEFAULT   0x00000000

Default value.

#define JSIHDF_TREATRETURNASSINGLEVALUE   0x00000001

Used to indicate that there is only one returned value, and that it should not be treated as an Array in JavaScript.

#define MAPSTATE_ADDINGVERTEX   0x0010

Adding new vertex in progress. Read-only state.

#define MAPSTATE_ADDVERTEX   0x000F

Add new vertex mode enabled.

#define MAPSTATE_ADJUSTINGVERTEX   0x000E

Adjusting vertex in progress. Read-only state.

#define MAPSTATE_ADJUSTVERTEX   0x000D

Adjust vertex mode enabled.

#define MAPSTATE_CIRCLESELECT   0x0004

Circle select mode enabled.

#define MAPSTATE_CIRCLESELECTTRACKING   0x0005

Cirlce selection in progress. Read-only state.

#define MAPSTATE_CUSTOM   0x00FF

Indicates that another GPI has set a map state. This is a read-only state.

#define MAPSTATE_DRAWING   0x000C

Drawing mode enabled.

#define MAPSTATE_MEASURING   0x000B

Measuring mode enabled.

#define MAPSTATE_PAN   0x0006

Panning mode enabled.

#define MAPSTATE_PANNING   0x0007

Panning in progress. Read-only state.

#define MAPSTATE_PLUGINSTATEFIRST   0x0100

First available custom GPI state

#define MAPSTATE_PLUGINSTATELAST   0x01FF

Last available custom GPI state

#define MAPSTATE_POLYGONSELECT   0x0011

Polygon selection mode enabled.

#define MAPSTATE_POLYGONSELECTTRACKING   0x0012

Polygon selection in progress. Read-only state.

#define MAPSTATE_RECTSELECT   0x0002

Rectangle select mode enabled.

#define MAPSTATE_RECTSELECTTRACKING   0x0003

Rectangle selection in progress. Read-only state.

#define MAPSTATE_SINGLESELECT   0x0001

Single select mode enabled.

#define MAPSTATE_SPLITOBJECT   0x0013

Split object mode enabled.

#define MAPSTATE_SPLITTINGOBJECT   0x0014

Splitting object in progress. Read-only state.

#define MAPSTATE_ZOOMIN   0x0008

Zoom in mode enabled.

#define MAPSTATE_ZOOMINTRACKING   0x0009

Zomming in progress. Read-only state.

#define MAPSTATE_ZOOMOUT   0x000A

Zoom out mode enabled.

#define MENUITEMTYPE_ADDNEWLAYER   0x0001

Used when a new layer can be constructed without an external data source. E.g. Use this for layers created from a selection of objects in another theme.

#define MENUITEMTYPE_ADVANCEDEDIT   0x0004

Used to add an item in the Edit | Advanced Edit sub-menu.

#define MENUITEMTYPE_ADVANCEDSELECTION   0x0003

Used to add an item in the Edit | Advanced Selection sub-menu.

#define MENUITEMTYPE_COPYSPECIAL   0x0007

Used to add an item in the Edit | Copy Special sub-menu.

#define MENUITEMTYPE_EXPORTLAYER   0x0005

Used to add an item in the Theme | Export dialog.

#define MENUITEMTYPE_LOADLAYER   0x0002

Used when a new layer can be constructed from an external data source.

#define MENUITEMTYPE_TOOLS   0x0006

Used to add an item in the Tools menu.

#define PENSTYLE_DASH   1

A dashed line.

#define PENSTYLE_DASHDOT   3

A dash/dot line.

#define PENSTYLE_DASHDOTDOT   4

A das/dot/dot line.

#define PENSTYLE_DOT   2

A dotted line.

#define PENSTYLE_SOLID   0

A solid drawn line.

#define SHAPEUP_API_VERSION   100

This should be returned by the function fnVersion()

Examples:
example_loadergpi.cpp, example_sudatapage.cpp, and example_sutoolbar.cpp.

#define SURESULT_E_BUFFEROVERFLOW   106

#define SURESULT_E_ILLEGALPARAM   101

Examples:
example_javascriptable.cpp.

#define SURESULT_E_INDEXOUTOFBOUNDS   104

#define SURESULT_E_INVALIDHANDLE   100

#define SURESULT_E_INVALIDQUERY   107

#define SURESULT_E_NOSUCHERROR   3

#define SURESULT_E_NOTIMPLEMENTED   2

#define SURESULT_E_OUTOFRESOURCES   109

#define SURESULT_E_PERMISSIONDENIED   105

#define SURESULT_E_SCRIPTERROR   110

#define SURESULT_E_UNEXPECTEDSHAPETYPE   103

#define SURESULT_E_UNKNOWNHOOKTYPE   108

#define SURESULT_E_UNSUPPORTEDSHAPETYPE   102

#define SURESULT_FALSE   1

#define SURESULT_OK   0

Examples:
example_hooks.cpp, example_javascriptable.cpp, example_loadergpi.cpp, example_sudatapage.cpp, and example_sutoolbar.cpp.


Typedef Documentation

typedef enum tagDataType DataType

typedef void(__cdecl *) PFNSETTINGS()

typedef struct tagSUAddFileFormatHandlerHookData SUAddFileFormatHandlerHookData

typedef struct tagSUAddJavaScriptInvokeHookData SUAddJavaScriptInvokeHookData

typedef struct tagSUAddMenuItemHookData SUAddMenuItemHookData

typedef struct tagSUARGAddAttribute SUARGAddAttribute

typedef struct tagSUARGAddDataPage SUARGAddDataPage

typedef struct tagSUARGAddHook SUARGAddHook

typedef struct tagSUARGAddShape SUARGAddShape

typedef struct tagSUARGAllocate SUARGAllocate

typedef struct tagSUARGAllocateStatusBarPane SUARGAllocateStatusBarPane

typedef struct tagSUARGBatchAddShape SUARGBatchAddShape

typedef struct tagSUARGBeginProgress SUARGBeginProgress

typedef struct tagSUARGBrowseTheme SUARGBrowseTheme

typedef struct tagSUARGCreateNewTheme SUARGCreateNewTheme

typedef struct tagSUARGCreateNewThemeFromSelection SUARGCreateNewThemeFromSelection

typedef struct tagSUARGCreateToolBar SUARGCreateToolBar

typedef struct tagSUARGDeleteAttribute SUARGDeleteAttribute

typedef struct tagSUARGDeleteShape SUARGDeleteShape

typedef struct tagSUARGDPtoGP SUARGDPtoGP

typedef struct tagSUARGDraw SUARGDraw

typedef struct tagSUARGGetAttribute SUARGGetAttribute

typedef struct tagSUARGGetAttributeIndex SUARGGetAttributeIndex

typedef struct tagSUARGGetAttributeType SUARGGetAttributeType

typedef struct tagSUARGGetBOOL SUARGGetBOOL

typedef struct tagSUARGGetBounds SUARGGetBounds

typedef struct tagSUARGGetClosestPoint SUARGGetClosestPoint

typedef struct tagSUARGGetColor SUARGGetColor

typedef struct tagSUARGGetCoordinate SUARGGetCoordinate

typedef struct tagSUARGGetDWORD SUARGGetDWORD

typedef struct tagSUARGGetErrorDescription SUARGGetErrorDescription

typedef struct tagSUARGGetFont SUARGGetFont

typedef struct tagSUARGGetHandle SUARGGetHandle

typedef struct tagSUARGGetHandleByIndex SUARGGetHandleByIndex

typedef struct tagSUARGGetHWND SUARGGetHWND

typedef struct tagSUARGGetInfoTip SUARGGetInfoTip

typedef struct tagSUARGGetInteractionState SUARGGetInteractionState

typedef struct tagSUARGGetIntersectingShapes SUARGGetIntersectingShapes

typedef struct tagSUARGGetShapeBytes SUARGGetShapeBytes

typedef struct tagSUARGGetShapesByQuery SUARGGetShapesByQuery

typedef struct tagSUARGGetShapesInRect SUARGGetShapesInRect

typedef struct tagSUARGGetShapeType SUARGGetShapeType

typedef struct tagSUARGGetSize SUARGGetSize

typedef struct tagSUARGGetText SUARGGetText

typedef struct tagSUARGGetTextByIndex SUARGGetTextByIndex

typedef struct tagSUARGGetUnsigned SUARGGetUnsigned

typedef struct tagSUARGGetUnsignedByIndex SUARGGetUnsignedByIndex

typedef struct tagSUARGGetWorkspace SUARGGetWorkspace

typedef struct tagSUARGGPtoDP SUARGGPtoDP

typedef struct tagSUARGIsShapeSelected SUARGIsShapeSelected

typedef struct tagSUARGJSCallFunction SUARGJSCallFunction

typedef struct tagSUARGLoadJavaScript SUARGLoadJavaScript

typedef struct tagSUARGLog SUARGLog

typedef struct tagSUARGRemoveHook SUARGRemoveHook

typedef struct tagSUARGRemoveTheme SUARGRemoveTheme

typedef struct tagSUARGRepaint SUARGRepaint

typedef struct tagSUARGReplaceShapeData SUARGReplaceShapeData

typedef struct tagSUARGSelectShape SUARGSelectShape

typedef struct tagSUARGSetAttribute SUARGSetAttribute

typedef struct tagSUARGSetAttributes SUARGSetAttributes

typedef struct tagSUARGSetBOOL SUARGSetBOOL

typedef struct tagSUARGSetButtonBOOL SUARGSetButtonBOOL

typedef struct tagSUARGSetColor SUARGSetColor

typedef struct tagSUARGSetDouble SUARGSetDouble

typedef struct tagSUARGSetDWORD SUARGSetDWORD

typedef struct tagSUARGSetFloat SUARGSetFloat

typedef struct tagSUARGSetInteractionState SUARGSetInteractionState

typedef struct tagSUARGSetPoint SUARGSetPoint

typedef struct tagSUARGSetRasterImage SUARGSetRasterImage

typedef struct tagSUARGSetSerialData SUARGSetSerialData

typedef struct tagSUARGSetStatusBarPaneInfo SUARGSetStatusBarPaneInfo

typedef struct tagSUARGSetText SUARGSetText

typedef struct tagSUARGSetTextByIndex SUARGSetTextByIndex

typedef struct tagSUARGSetUnsigned SUARGSetUnsigned

typedef struct tagSUARGWantUpdate SUARGWantUpdate

typedef struct tagSUARGZoomToExtent SUARGZoomToExtent

typedef struct tagSUARGZoomToSelection SUARGZoomToSelection

typedef SURESULT(__cdecl *) SUCall(int function, void *arg)

typedef struct tagSUDeserializeHookData SUDeserializeHookData

typedef struct tagSUExport SUExport

typedef struct tagSUFileFormatHandlerHookData SUFileFormatHandlerHookData

typedef HANDLE SUHANDLE

Examples:
example_hooks.cpp, example_javascriptable.cpp, example_loadergpi.cpp, example_sudatapage.cpp, and example_sutoolbar.cpp.

typedef struct tagSUHookData SUHookData

typedef SURESULT(__cdecl *) SUHOOKFUNC(SUHANDLE hWorkspace, int hookType, SUHookData *args)

typedef struct tagSUImport SUImport

typedef struct tagSUJavaScriptArgument SUJavaScriptArgument

typedef struct tagSUJavaScriptInvokeHookData SUJavaScriptInvokeHookData

This is an example of how to construct the return values.

    // Let's return 2 values, a shape and a string, to the calling JavaScript
    // (Error handling omitted for simplicity)

    SUJavaScriptInvokeHookData *args; // From the hook function
    SUHANDLE hWorkspace;              // From the hook function

    args->retc = 2;
    ShapeUp_Allocate(sizeof(SUJavaScriptArgument) * args->retc, (void**)&args->rets);

    args->rets[0].type = DT_SUHANDLE;
    args->rets[0].handleVal = SUWorkspace(hWorkspace).GetTheme(0).GetShape(0);

    args->rets[1].type = DT_STRING;
    args->rets[1].stringVal = ShapeUp_DuplicateString("A string");
The return value is by default treated as an Array of values, even if there is only one element. To avoid this if the intention is just to return one value, set the flags member of SUJavaScriptInvokeHookData to include JSIHDF_TREATRETURNASSINGLEVALUE.

The following return values are supported:

Note:
It's important to use ShapeUp_Allocate() or one of its relatives to allocate memory for the return values since ShapeUp will deallocate the structure.
The hook function can return any of:
See also:
ShapeUp_Allocate(), ShapeUp_DuplicateString()

typedef struct tagSUMenuItemHookData SUMenuItemHookData

typedef struct tagSUMouseHookData SUMouseHookData

typedef struct tagSUPreRemoveShapeHookData SUPreRemoveShapeHookData

typedef struct tagSUPreRemoveThemeHookData SUPreRemoveThemeHookData

typedef HRESULT SURESULT

Examples:
example_hooks.cpp, example_javascriptable.cpp, example_loadergpi.cpp, example_sudatapage.cpp, and example_sutoolbar.cpp.

typedef struct tagSUShapeSelChangeHookData SUShapeSelChangeHookData

typedef struct tagSUToolBarButtonHookData SUToolBarButtonHookData


Enumeration Type Documentation

enum tagDataType

Enumerator:
DT_SUHANDLE 
DT_INT 
DT_STRING 
DT_DOUBLE 
DT_BOOL 
DT_COLOR 


Function Documentation

SURESULT DataPage_GetHWND ( SUHANDLE  hDataPage,
HWND *  hWnd 
) [inline]

Retrievs the window handle to the ShapeUp map window.

Parameters:
hDataPage is the SUHANDLE to the custom data page.
hWnd is a pointer to a HWND that will receive the data page window handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHWND, FNTYPE_DATAPAGE_GETHWND

SURESULT DataPage_Remove ( SUHANDLE  hDataPage  )  [inline]

Removes a custom data page for a workspace. A data page is an addition to the four native data pages supplied by ShapeUp: Attributes, Coordinates, Statistics and Bookmarks.
A custom data page can be used to display any windows control as a child.

Parameters:
hDataPage is an SUHANDLE to the data page to remove.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_DATAPAGE_REMOVE, Workspace_AddDataPage()

const GUID* __cdecl fnGUID (  ) 

Identifies this plug-in. E.g. used for plug-in invokation from JavaScript. Make sure this function returns a newly generated GUID for this plug-in.

Examples:
example_javascriptable.cpp, example_loadergpi.cpp, example_sudatapage.cpp, and example_sutoolbar.cpp.

SURESULT __cdecl fnInit ( const SUExport export  ) 

This is the main plug-in function. This function is called after the plug-in was loaded to allow the plug-in to hook up into the ShapeUp main executable.

Parameters:
export is a pointer to the ShapeUp API SUExport struct which in turn has an import member which must be initiallised.
See also:
SUExport, SUImport
Examples:
example_hooks.cpp, example_javascriptable.cpp, example_loadergpi.cpp, example_sudatapage.cpp, and example_sutoolbar.cpp.

void __cdecl fnTerminate (  ) 

This function is called by ShapeUp just before the plug-in is unloaded. Perform any necessary clean-up here. A plug-in is normally not unloaded until ShapeUp terminates, but it might be possible for the user to unload plugins manually anytime during a ShapeUp session, and thus, clean-up should be taken seriously.

size_t __cdecl fnVersion (  ) 

This function should return the version of the ShapeUp API used when building the plug-in. This is the defined value SHAPEUP_API_VERSION. The plug-in shuld just return this constant.

See also:
SHAPEUP_API_VERSION
Examples:
example_loadergpi.cpp, example_sudatapage.cpp, and example_sutoolbar.cpp.

SURESULT JavaScript_CallFunction ( SUHANDLE  hJavaScript,
const char *  name 
) [inline]

Executes a specified funcion in a ShapeUp JavaScript.

Parameters:
hJavaScript is the SUHANDLE to the JavaScript to execute.
name is a null-terminated string containing the name of the function to execute. Names are case sensitive.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
ShapeUp_HasJavaScriptSupport(), Workspace_LoadJavaScript(), SUARGJSCallFunction, FNTYPE_JAVASCRIPT_CALLFUNCTION, example_jscallfunction.js

SURESULT JavaScript_Close ( SUHANDLE  hJavaScript  )  [inline]

Closes a ShapeUp JavaScript.

Parameters:
hJavaScript is the SUHANDLE to the JavaScript to close.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
ShapeUp_HasJavaScriptSupport(), Workspace_LoadJavaScript(), FNTYPE_JAVASCRIPT_CLOSE

SURESULT JavaScript_Run ( SUHANDLE  hJavaScript  )  [inline]

Executes a ShapeUp JavaScript.

Parameters:
hJavaScript is the SUHANDLE to the JavaScript to execute.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
ShapeUp_HasJavaScriptSupport(), Workspace_LoadJavaScript(), FNTYPE_JAVASCRIPT_RUN

SURESULT Map_CenterMap ( SUHANDLE  hMap,
double  x,
double  y 
) [inline]

Centers the ShapeUp map window around a point.

Parameters:
hMap is the SUHANDLE to the ShapeUp map.
x is the new center point east-west component.
y is the new center point north-south component.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetPoint, FNTYPE_MAP_CENTERMAP

SURESULT Map_DPtoGP ( SUHANDLE  hMap,
int  dpx,
int  dpy,
double *  gpx,
double *  gpy 
) [inline]

Converts a device point to a geographical point.

Parameters:
hMap is the SUHANDLE to the ShapeUp map.
dpx is an int that contains the east-west value to convert.
dpy is an int that contains the north-south value to convert.
gpx is a pointer to a double that will receive the east-west value.
gpy is a pointer to a double that will receive the north-south value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGDPtoGP, FNTYPE_MAP_DPTOGP

SURESULT Map_Draw ( SUHANDLE  hMap,
HDC  hdc,
size_t  iw,
size_t  ih,
double  x,
double  y,
double  gw,
double  gh 
) [inline]

Draws a ShapeUp workspace to an external Windows device context.

Parameters:
hMap is the SUHANDLE to the ShapeUp map.
hdc is a handle to the target Windows device context.
iw is the width in device units of the image to draw.
ih is the height in device units of the image to draw.
x is the center point east-west component.
y is the center point north-south component.
gw is the east-west geographical extent.
gh is the north-south geographical extent.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGDraw, FNTYPE_MAP_DRAW

SURESULT Map_GetBounds ( SUHANDLE  hMap,
double *  xmin,
double *  ymin,
double *  xmax,
double *  ymax 
) [inline]

Gets the map's bounding box.

Parameters:
hMap is the SUHANDLE to the ShapeUp map to query.
xmin is a pointer to a double that will receive the west-most value.
ymin is a pointer to a double that will receive the south-most value.
xmax is a pointer to a double that will receive the east-most value.
ymax is a pointer to a double that will receive the north-most value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBounds, FNTYPE_MAP_GETBOUNDS

SURESULT Map_GetHWND ( SUHANDLE  hMap,
HWND *  hWnd 
) [inline]

Retrievs the window handle to the ShapeUp map window.

Parameters:
hMap is the SUHANDLE to the ShapeUp map to query.
hWnd is a pointer to a HWND that will receive the map window handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHWND, FNTYPE_MAP_GETHWND

SURESULT Map_GetInteractionState ( SUHANDLE  hMap,
unsigned long *  state 
) [inline]

Retrieves the current map interaction state. The interaction state is a value indicating what the user is about to do, or is doing, in the map. This is in short the state of the mutual exclusive toolbar buttons like select, rectangle select, circle select, etc. This can be used to add new states to the map.

Parameters:
hMap is the SUHANDLE to the ShapeUp map to query.
state is a pointer to an unsigned long that will receive the current map interaction state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetInteractionState, Map_SetInteractionState(), MAPSTATE, FNTYPE_MAP_GETINTERACTIONSTATE

SURESULT Map_GetViewSize ( SUHANDLE  hMap,
size_t *  width,
size_t *  height 
) [inline]

Gets the map's view size in device units.

Parameters:
hMap is the SUHANDLE to the ShapeUp map to query.
width is a pointer to a size_t that will receive the width in device units.
height is a pointer to a size_t that will receive the height in device units.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetSize, FNTYPE_MAP_GETVIEWSIZE

SURESULT Map_GPtoDP ( SUHANDLE  hMap,
double  gpx,
double  gpy,
int *  dpx,
int *  dpy 
) [inline]

Converts a geographical point to a device point.

Parameters:
hMap is the SUHANDLE to the ShapeUp map.
gpx is a double that contains the east-west value to convert.
gpy is a double that contains the north-south value to convert.
dpx is a pointer to an int that will receive the east-west value.
dpy is a pointer to an int that will receive the north-south value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGPtoDP, FNTYPE_MAP_GPTODP

SURESULT Map_Repaint ( SUHANDLE  hMap,
BOOL  bFullRedraw 
) [inline]

Forces a repaint of the ShapeUp map window.

Parameters:
hMap is the SUHANDLE to the ShapeUp map to refresh.
bFullRedraw if true, all map objects are redrawn, and if false, the background buffer is used to paint the map objects and only the top items are redrawn.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGRepaint, FNTYPE_MAP_REPAINT

SURESULT Map_SetInteractionState ( SUHANDLE  hMap,
unsigned long  state 
) [inline]

Sets a new map interaction state. The interaction state is a value indicating what the user is about to do, or is doing, in the map. This is in short the state of the mutual exclusive toolbar buttons like select, rectangle select, circle select, etc. This can be used to add new states to the map.

Parameters:
hMap is the SUHANDLE to the ShapeUp map.
state is an unsigned long containing the new map interaction state. Note: Not all map states defined can be set. Check MAPSTATE for more info.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetInteractionState, Map_GetInteractionState(), MAPSTATE, FNTYPE_MAP_SETINTERACTIONSTATE

SURESULT Map_Zoom ( SUHANDLE  hMap,
double  factor 
) [inline]

Zooms the map.

Parameters:
hMap is the SUHANDLE to the ShapeUp map.
factor is the factor used to zoom the map. 0.0 < factor < 1.0 zooms in, and 1.0 < factor zooms out.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetDouble, FNTYPE_MAP_ZOOM

SURESULT Map_ZoomToExtent ( SUHANDLE  hMap,
SUHANDLE  hTheme 
) [inline]

Zooms the map to fit the entire workspace, or to fit a specified theme.

Parameters:
hMap is the SUHANDLE to the ShapeUp map.
hTheme is the SUHANDLE to the ShapeUp theme to fit. If this parameter is NULL, the map will zoom to fit the entire workspace.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGZoomToExtent, FNTYPE_MAP_ZOOMTOEXTENT

SURESULT Map_ZoomToSelection ( SUHANDLE  hMap,
SUHANDLE  hTheme 
) [inline]

Zooms the map to fit the selection in a specified theme.

Parameters:
hMap is the SUHANDLE to the ShapeUp map.
hTheme is the SUHANDLE to the ShapeUp theme that contains the selection.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGZoomToSelection, FNTYPE_MAP_ZOOMTOSELECTION

SURESULT MenuItem_SetEnabled ( SUHANDLE  hMenuItem,
BOOL  bEnabled 
) [inline]

Enables or disables a ShapeUp menu item.

Parameters:
hMenuItem is the SUHANDLE to the menu item to change.
bEnabled is the new enabled state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetBOOL, FNTYPE_MENUITEM_SETENABLED

SURESULT Recordset_Bof ( SUHANDLE  hRecordset,
BOOL *  bof 
) [inline]

Checks if the recordset cursor is moved before the first element.

Parameters:
hRecordset is an SUHANDLE to the recordset.
bof is a pointer to a BOOL that will receive the beginning-of-file state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBOOL, FNTYPE_RECORDSET_BOF

SURESULT Recordset_Close ( SUHANDLE  hRecordset  )  [inline]

Closes a ShapeUp recordset. It is important to close all retrieved recordsets to avoid resource leaks.

Parameters:
hRecordset is an SUHANDLE to the recordset.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_RECORDSET_CLOSE

SURESULT Recordset_Eof ( SUHANDLE  hRecordset,
BOOL *  eof 
) [inline]

Checks if the recordset cursor is moved past the last element.

Parameters:
hRecordset is an SUHANDLE to the recordset.
eof is a pointer to a BOOL that will receive the end-of-file state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBOOL, FNTYPE_RECORDSET_EOF

SURESULT Recordset_First ( SUHANDLE  hRecordset  )  [inline]

Moves a ShapeUp recordset cursor to the first item.

Parameters:
hRecordset is an SUHANDLE to the recordset.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_RECORDSET_FIRST

SURESULT Recordset_Get ( SUHANDLE  hRecordset,
SUHANDLE handle 
) [inline]

Get an element from a ShapeUp recordset at the current cursor position.

Parameters:
hRecordset is an SUHANDLE to the recordset.
handle is a pointer to an SUHANDLE that will receive a handle to an object defined in the recordset.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandle, FNTYPE_RECORDSET_GET

SURESULT Recordset_GetCount ( SUHANDLE  hRecordset,
size_t *  count 
) [inline]

Retrieves the number of item in a ShapeUp recordset.

Parameters:
hRecordset is an SUHANDLE to the recordset.
count is a pointer to size_t that will receive the item count.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, FNTYPE_RECORDSET_GETCOUNT

SURESULT Recordset_Last ( SUHANDLE  hRecordset  )  [inline]

Moves a ShapeUp recordset cursor to the last item.

Parameters:
hRecordset is an SUHANDLE to the recordset.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_RECORDSET_LAST

SURESULT Recordset_Next ( SUHANDLE  hRecordset  )  [inline]

Advances a ShapeUp recordset to the next item.

Parameters:
hRecordset is an SUHANDLE to the recordset.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_RECORDSET_NEXT

SURESULT Recordset_Prev ( SUHANDLE  hRecordset  )  [inline]

Steps a ShapeUp recordset to the previous item.

Parameters:
hRecordset is an SUHANDLE to the recordset.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_RECORDSET_PREV

SURESULT Shape_GetAttribute ( SUHANDLE  hShape,
SUHANDLE  hTheme,
size_t  column,
char *  buffer,
size_t *  bufferSize 
) [inline]

Retrieves an attribute for a shape within a theme.

This function can be used in a two step process. First it's used to query ShapeUp for the buffer size needed to fit the text, then the actual text can be fetched.

To query for the buffer size, set buffer to NULL, and let bufferSize point to a size_t that will receive the value. The size returned includes space for the null termination of the string. Allocate a proper character buffer and call the function again with this buffer and the returned bufferSize.

Parameters:
hShape is an SUHANDLE to the shape to query.
hTheme is an SUHANDLE to the theme containing the shape.
column is the zero-based index of the attribute to query.
buffer is a pointer to a character buffer that will receive the text.
bufferSize is a pointer to a size_t indicates the size of the buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetAttribute, FNTYPE_SHAPE_GETATTRIBUTE

SURESULT Shape_GetBounds ( SUHANDLE  hShape,
double *  xmin,
double *  ymin,
double *  xmax,
double *  ymax 
) [inline]

Gets a shape's bounding box.

Parameters:
hShape is the SUHANDLE to the shape to query.
xmin is a pointer to a double that will receive the west-most value. This parameter might be NULL if it's of no interest.
ymin is a pointer to a double that will receive the south-most value. This parameter might be NULL if it's of no interest.
xmax is a pointer to a double that will receive the east-most value. This parameter might be NULL if it's of no interest.
ymax is a pointer to a double that will receive the north-most value. This parameter might be NULL if it's of no interest.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBounds, FNTYPE_SHAPE_GETBOUNDS

SURESULT Shape_GetClosestPoint ( SUHANDLE  hShape,
double  refx,
double  refy,
double *  closestx,
double *  closesty 
) [inline]

Gets the coordinate of this shape closest to a reference point.

Parameters:
hShape is the SUHANDLE to the shape to query.
refx [in] = reference point x value.
refy [in] = reference point y value.
closestx [out] = the coordinate on this shape closest to ref x value.
closesty [out] = the coordinate on this shape closest to ref y value.
See also:
SUARGGetClosestPoint, FNTYPE_SHAPE_GETCLOSESTPOINT

SURESULT Shape_GetCoordinate ( SUHANDLE  hShape,
size_t  part,
size_t  coordIndex,
double *  x,
double *  y,
double *  z 
) [inline]

Gets the count of all parts in this shape.

Parameters:
hShape is the SUHANDLE to the shape to query.
part is the zero based index of the part in this shape to query.
coordIndex is zero based index of the coordinate in the specified part.
x [out] is a pointer to an double that will receive the x value. This value can be set to NULL if it's of no interest.
y [out] is a pointer to an double that will receive the y value. This value can be set to NULL if it's of no interest.
z [out] is a pointer to an double that will receive the z value. This value can be set to NULL if it's of no interest.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetCoordinate, FNTYPE_SHAPE_GETCOORDINATE

SURESULT Shape_GetCoordinateCount ( SUHANDLE  hShape,
size_t  part,
size_t *  count 
) [inline]

Gets the count of all parts in this shape.

Parameters:
hShape is the SUHANDLE to the shape to query.
part is the zero based index of the part in this shape to query.
count is a pointer to an unsigned int that will receive the count value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsignedByIndex, FNTYPE_SHAPE_GETCOORDINATECOUNT

SURESULT Shape_GetPartCount ( SUHANDLE  hShape,
size_t *  count 
) [inline]

Gets the count of all parts in this shape.

Parameters:
hShape is the SUHANDLE to the shape to query.
count is a pointer to an unsigned int that will receive the count value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, FNTYPE_SHAPE_GETPARTCOUNT

SURESULT Shape_GetShapeBytes ( SUHANDLE  hShape,
unsigned char *  buffer,
size_t *  bufferSize 
) [inline]

Retrieves underlying shape byte buffer for a shape. The resulting buffer can be casted to pointer to a CShapeRecord.

This function can be used in a two step process. First it's used to query ShapeUp for the buffer size needed to fit the data, then the actual data can be fetched.

To query for the buffer size, set buffer to NULL, and let bufferSize point to a size_t that will receive the value. The size returned includes space for the null termination of the string. Allocate a proper character buffer and call the function again with this buffer and the returned bufferSize.

Parameters:
hShape is an SUHANDLE to the shape to query.
buffer is a pointer to a byte buffer that will receive the data.
bufferSize is a pointer to a size_t indicates the size of the buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetShapeBytes, FNTYPE_SHAPE_GETSHAPEBYTES

SURESULT Shape_GetShapeType ( SUHANDLE  hShape,
ShapeType *  type 
) [inline]

Retrieves the type of this shape.

Parameters:
hShape is an SUHANDLE to the shape to query.
type is a pointer to a ShapeType that will receive the shapes's type.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetShapeType, FNTYPE_SHAPE_GETSHAPETYPE,

SURESULT Shape_IsSelected ( SUHANDLE  hShape,
SUHANDLE  hTheme,
BOOL *  selected 
) [inline]

Determines if a shape is selected within a given theme.

Parameters:
hShape is an SUHANDLE to the shape to query.
hTheme is an SUHANDLE to the theme containing the shape.
selected is a pointer to a BOOL that will receive the selected state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGIsShapeSelected, FNTYPE_SHAPE_ISSELECTED

SURESULT Shape_Select ( SUHANDLE  hShape,
SUHANDLE  hTheme,
BOOL  select 
) [inline]

Changes the selection state of a shape in a given theme.

Parameters:
hShape is an SUHANDLE to the shape to select.
hTheme is an SUHANDLE to the theme containing the shape.
select is a BOOL that contains the new selection state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSelectShape, FNTYPE_SHAPE_SELECT

SURESULT Shape_SetAttribute ( SUHANDLE  hShape,
SUHANDLE  hTheme,
size_t  column,
const char *  data 
) [inline]

Sets an attribute value of a shape within a theme.

Parameters:
hShape is an SUHANDLE to the shape to query.
hTheme is an SUHANDLE to the theme containing the shape.
column is the zero-based index of the attribute.
data is a null-terminated string that contains the new value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetAttribute, FNTYPE_SHAPE_SETATTRIBUTE

SURESULT Shape_SetAttributes ( SUHANDLE  hShape,
SUHANDLE  hTheme,
size_t  count,
const char *  data[] 
) [inline]

Sets multiple attribute values of a shape within a theme.

Parameters:
hShape is an SUHANDLE to the shape to query.
hTheme is an SUHANDLE to the theme containing the shape.
count is the number of attribute values in data.
data is an array of null-terminated strings that contains the new values. The data array may contain fewer attributes than the theme can handle. To avoid affecting an attribute value, set the appropriate field to NULL. To clear an attribute, set the field to an empty string, "".
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
Shape_SetAttribute(), SUARGSetAttributes, FNTYPE_SHAPE_SETATTRIBUTES

SURESULT ShapeUp_AddAdvancedEditHook ( unsigned long  userData,
const char *  menuString,
const char *  menuDescr,
void *  pReserved,
SUHANDLE hMenuItem 
) [inline]

Adds a menu item in the Edit | Advanced Edit sub-menu. This hook should be used if the plug-in can be used to edit object data.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
menuString is the text that will be displayed in the menu.
menuDescr is a one-line text describing what the menu item does.
pReserved is not used, and must be set to NULL.
hMenuItem is a pointer to a SUHANDLE that will receive a handle to the added menu item. This parameter might be set to NULL if the plug-in has no interest in changing its state (enable/disable/...).
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_MENUITEM, MENUITEMTYPE_ADVANCEDEDIT, SUMenuItemHookData, HOOKTYPE_IDLE

SURESULT ShapeUp_AddAdvancedSelectionHook ( unsigned long  userData,
const char *  menuString,
const char *  menuDescr,
void *  pReserved,
SUHANDLE hMenuItem 
) [inline]

Adds a menu item in the Edit | Advanced Selection sub-menu. This hook should be used if the plug-in can be used to select objects.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
menuString is the text that will be displayed in the menu.
menuDescr is a one-line text describing what the menu item does.
pReserved is not used, and must be set to NULL.
hMenuItem is a pointer to a SUHANDLE that will receive a handle to the added menu item. This parameter might be set to NULL if the plug-in has no interest in changing its state (enable/disable/...).
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_MENUITEM, MENUITEMTYPE_ADVANCEDSELECTION, SUMenuItemHookData, HOOKTYPE_IDLE

SURESULT ShapeUp_AddCopySpecialHook ( unsigned long  userData,
const char *  menuString,
const char *  menuDescr,
void *  pReserved,
SUHANDLE hMenuItem 
) [inline]

Adds a menu item in the Edit | Copy Special sub-menu. This hook should be used if the plug-in can copy objects in a special format and place the content on the Clipboard.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
menuString is the text that will be displayed in the menu.
menuDescr is a one-line text describing what the menu item does.
pReserved is not used, and must be set to NULL.
hMenuItem is a pointer to a SUHANDLE that will receive a handle to the added menu item. This parameter might be set to NULL if the plug-in has no interest in changing its state (enable/disable/...).
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_MENUITEM, MENUITEMTYPE_COPYSPECIAL, SUMenuItemHookData, HOOKTYPE_IDLE

SURESULT ShapeUp_AddDeserializeHook ( unsigned long  userData  )  [inline]

This hook ensures the plugin gets called when a ShapeUp workspace file is loaded, if the file contains data that were previously stored by this plug-in. If that is the case, the hook funktion will be called for the workspace or individual themes within it where applicable.
The hTheme SUHANDLE of the SUDeserializeHookData will be NULL if the workspace is deserialized, and contain a valid theme SUHANDLE if a theme is deserialized.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_DESERIALIZE, SUDeserializeHookData, Workspace_SetSerialData(), Theme_SetSerialData()

SURESULT ShapeUp_AddExportLayerHook ( unsigned long  userData,
const char *  menuString,
const char *  menuDescr,
void *  pReserved,
SUHANDLE hMenuItem 
) [inline]

Adds an item in the Theme | Export dialog. This hook should be used if the plug-in can be used to export object data.
Even though the export options are not in a menu directly, the added hook can be handled from the plug-in as if it was a menu item. If the menu item is set disabled, it will not end up in the exporter list. This should be used if the current selection is not exportable by the plug-in.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
menuString is the text that will be displayed in the menu.
menuDescr is a one-line text describing what the menu item does.
pReserved is not used, and must be set to NULL.
hMenuItem is a pointer to a SUHANDLE that will receive a handle to the added menu item. This parameter might be set to NULL if the plug-in has no interest in changing its state (enable/disable/...).
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_MENUITEM, MENUITEMTYPE_ADVANCEDEDIT, SUMenuItemHookData, HOOKTYPE_IDLE

SURESULT ShapeUp_AddFileFormatHandlerHook ( unsigned long  userData,
const char *  filterdescription,
const char *  pattern 
) [inline]

Extends the ShapeUp File Open dialog with new file fomats. This hook can be used if the plug-in acts as a loader for data stored on file.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
filterdescription is the text that will be displayed in the file dialog file type combo box, e.g "Text files (*.txt)".
pattern is the pattern for files that can be handeled, e.g "*.txt", or multiple filters separated by ';', e.g "*.txt;*.log".
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_FILEFORMATHANDLER, SUAddFileFormatHandlerHookData, ShapeUp_AddLoadLayerHook()

SURESULT ShapeUp_AddIdleHook ( unsigned long  userData  )  [inline]

Adds a hook for notifications when ShapeUp is idle. This can be used to let the plug-in update its menu items or toolbar buttons states.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_IDLE, SUHookData
Examples:
example_hooks.cpp, and example_sutoolbar.cpp.

SURESULT ShapeUp_AddJavaScriptInvokeHook ( unsigned long  userData,
const char *  properties[],
const char *  methods[] 
) [inline]

This hook is called when a JavaScript is invoking the plug-in. It supports multiple arguments as well as multiple return values to and from the plug-in.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
properties is an array of strings containing property names exposed by this GPI. The last element in this array must be NULL. If no properties are exposed, this parameter may be set to NULL.
methods is an array of strings containing method names exposed by this GPI. The last element in this array must be NULL. If no methods are exposed, this parameter may be set to NULL.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_JAVASCRIPTINVOKE, SUHookData
Examples:
example_javascriptable.cpp.

SURESULT ShapeUp_AddLayerSelectionChangedHook ( unsigned long  userData  )  [inline]

This hook is called when the layer selection changes.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_LAYERSELCHANGE, SUHookData

SURESULT ShapeUp_AddLButtonDownHook ( unsigned long  userData  )  [inline]

Adds a hook for notifications when the left mouse button is pressed within the ShapeUp map.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_LBUTTONDOWN, SUMouseHookData
Examples:
example_hooks.cpp.

SURESULT ShapeUp_AddLButtonUpHook ( unsigned long  userData  )  [inline]

Adds a hook for notifications when the left mouse button is released within the ShapeUp map.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_LBUTTONUP, SUMouseHookData

SURESULT ShapeUp_AddLoadLayerHook ( unsigned long  userData,
const char *  menuString,
const char *  menuDescr,
void *  pReserved,
SUHANDLE hMenuItem 
) [inline]

Adds a menu item in the Insert | Add Theme From sub-menu. This hook should be used if the plug-in creates a new layer using external data sources. This is equivalent to the old ShapeUp loader plug-ins.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
menuString is the text that will be displayed in the menu.
menuDescr is a one-line text describing what the menu item does.
pReserved is not used, and must be set to NULL.
hMenuItem is a pointer to a SUHANDLE that will receive a handle to the added menu item. This parameter might be set to NULL if the plug-in has no interest in changing its state (enable/disable/...).
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_MENUITEM, MENUITEMTYPE_LOADLAYER, SUMenuItemHookData, ShapeUp_AddNewLayerHook(), HOOKTYPE_IDLE
Examples:
example_loadergpi.cpp.

SURESULT ShapeUp_AddMouseMoveHook ( unsigned long  userData  )  [inline]

Adds a hook for notifications when the mouse is moved within the ShapeUp map.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_MOUSEMOVE, SUMouseHookData

SURESULT ShapeUp_AddNewLayerHook ( unsigned long  userData,
const char *  menuString,
const char *  menuDescr,
void *  pReserved,
SUHANDLE hMenuItem 
) [inline]

Adds a menu item in the Insert | New Theme sub-menu. This hook should be used if the plug-in creates a new layer not using external data sources.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
menuString is the text that will be displayed in the menu.
menuDescr is a one-line text describing what the menu item does.
pReserved is not used, and must be set to NULL.
hMenuItem is a pointer to a SUHANDLE that will receive a handle to the added menu item. This parameter might be set to NULL if the plug-in has no interest in changing its state (enable/disable/...).
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_MENUITEM, MENUITEMTYPE_ADDNEWLAYER, SUMenuItemHookData, ShapeUp_AddLoadLayerHook(), HOOKTYPE_IDLE

SURESULT ShapeUp_AddPostDrawHook ( unsigned long  userData  )  [inline]

Adds a hook for notifications when ShapeUp has drawn the map. This can be used to let the plug-in overlay its own graphics.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_POSTDRAW, SUHookData

SURESULT ShapeUp_AddRemoveLayerHook ( unsigned long  userData  )  [inline]

Adds a hook for notifications when a theme is about to be removed.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_PREREMOVETHEME, SUPreRemoveThemeHookData
Examples:
example_hooks.cpp.

SURESULT ShapeUp_AddRemoveShapeHook ( unsigned long  userData  )  [inline]

Adds a hook for notifications when a shape is about to be removed. If an entire theme is removed, there will not be individual notifications for each shape.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_PREREMOVESHAPE, SUPreRemoveShapeHookData

SURESULT ShapeUp_AddShapeSelectionChangedHook ( unsigned long  userData  )  [inline]

This hook is called when the shape selection changes.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_SHAPESELCHANGE, SUHookData

SURESULT ShapeUp_AddSimpleHook_Helper ( int  ht,
unsigned long  ud,
void *  args 
) [inline]

Helper function for internal use.

Parameters:
ht is the HOOKTYPE value.
ud is the user data.
args is a pointer to the hook specific data.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGAddHook, FNTYPE_SHAPEUP_ADDHOOK

SURESULT ShapeUp_AddToolBarButtonHook ( unsigned long  userData  )  [inline]

Adds a hook for notifications when the user selects one of the plug-ins toolbar buttons.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_LBUTTONUP, SUToolBarButtonHookData
Examples:
example_hooks.cpp, and example_sutoolbar.cpp.

SURESULT ShapeUp_AddToolsHook ( unsigned long  userData,
const char *  menuString,
const char *  menuDescr,
void *  pReserved,
SUHANDLE hMenuItem 
) [inline]

Adds a menu item in the Tools menu.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
menuString is the text that will be displayed in the menu.
menuDescr is a one-line text describing what the menu item does.
pReserved is not used, and must be set to NULL.
hMenuItem is a pointer to a SUHANDLE that will receive a handle to the added menu item. This parameter might be set to NULL if the plug-in has no interest in changing its state (enable/disable/...).
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_MENUITEM, MENUITEMTYPE_TOOLS, SUMenuItemHookData, HOOKTYPE_IDLE

SURESULT ShapeUp_AddWorkspaceReadyHook ( unsigned long  userData  )  [inline]

This hook is called when a new workspace is created, after any serialization has taken place, or after a new empty workspace has been created.

Parameters:
userData is a user specific value that will be sent to the hook function when the event occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_WORKSPACEREADY, SUHookData
Examples:
example_sudatapage.cpp.

SURESULT ShapeUp_Allocate ( size_t  count,
void **  bytes 
) [inline]

Allocates a memory buffer. This function should be used where a data buffer is handed over from the plug-in to ShapeUp.

Parameters:
count is the number of bytes to allocate.
bytes is the address of a pointer that will receive the allocated buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGAllocate, FNTYPE_SHAPEUP_ALLOCATE
Examples:
example_javascriptable.cpp.

SURESULT ShapeUp_AllocateStatusBarPane ( size_t  width,
SUHANDLE hStatusPane 
) [inline]

Allocates a pane in the ShapeUp status bar. The ShapeUp status bar is a limited resource. Use sparingly. When an allocated pane is not needed anymore, it should be released with a call to ShapeUp_ReleaseStatusBarPane().

Parameters:
width is the requested width in device units of the new pane.
hStatusPane is a pointer to a SUHANDLE that will receive the pane handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGAllocateStatusBarPane, ShapeUp_SetStatusBarPaneInfo(), ShapeUp_ReleaseStatusBarPane(), FNTYPE_SHAPEUP_SETSTATUSBARPANEINFO

SURESULT ShapeUp_BeginProgress ( const char *  title,
float  progress,
SUHANDLE hProgress 
) [inline]

Initiates a ShapeUp progress bar session. The ShapeUp progress bar is shown in the left corner of the ShapeUp status bar, and can be used to show the progress of lengthy operations. When the progress bar is not used anymore, it must be released with a call to ShapeUp_EndProgress().

Parameters:
title is a null terminated string of text to be displayed to the left of the progress bar. May be NULL to show no text.
progress is the initial value of the progress. Usually 0.
hProgress is a pointer to an SUHANDLE that will receive the progress bar handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGBeginProgress, ShapeUp_EndProgress(), ShapeUp_SetProgress(), FNTYPE_SHAPEUP_BEGINPROGRESS

SURESULT ShapeUp_Deallocate ( void *  bytes  )  [inline]

Dellocates a memory buffer previously allocated by ShapeUp_Allocate().

Parameters:
bytes is the buffer to release.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
ShapeUp_Allocate(), FNTYPE_SHAPEUP_DEALLOCATE

char * ShapeUp_DuplicateString ( const char *  str  )  [inline]

Allocates a memory buffer using ShapeUp_Allocate(), and copies a given string to it. A string created with this function needs to be deallocated by a call to ShapeUp_Deallocate(), or it should be sent into one of the ShapeUp API functions that explicitly sais it will clean-up the string.

Parameters:
str is the string to duplicate.
Returns:
This function returns the duplicated string if successful, or NULL otherwise.
See also:
ShapeUp_Allocate, ShapeUp_Deallocate
Examples:
example_javascriptable.cpp.

SURESULT ShapeUp_EndProgress ( SUHANDLE  hProgress  )  [inline]

Releases the ShapeUp progress bar previously allocated with a call to ShapeUp_BeginProgress(). A call to this function invalidates the hProgress handle.

Parameters:
hProgress is the SUHANDLE to the progress bar.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
ShapeUp_BeginProgress(), FNTYPE_SHAPEUP_ENDPROGRESS

SURESULT ShapeUp_GetActiveWorkspace ( SUHANDLE hWorkspace  )  [inline]

Asks ShapeUp for the workspace currently active.

Parameters:
hWorkspace is a pointer to a SUHANDLE that will receive a handle to the workspace.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_SHAPEUP_GETACTIVEWORKSPACE

SURESULT ShapeUp_GetErrorDescription ( SURESULT  errCode,
char *  buffer,
size_t *  bufferSize 
) [inline]

Translates a SURESULT value into a human readable string.

This function can be used in a two step process. First it's used to query ShapeUp for the buffer size needed to fit the message, then the actual message can be fetched.

To query for the buffer size, set buffer to NULL, and let bufferSize point to a size_t that will receive the value. The size returned includes space for the null termination of the string. Allocate a proper character buffer and call the function again with this buffer and the returned bufferSize.

Parameters:
errCode is the SURESULT value to translate.
buffer is a pointer to a character buffer that will receive the text.
bufferSize is a pointer to a size_t indicates the size of the buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetErrorDescription, FNTYPE_SHAPEUP_GETERRORDESCRIPTION

SURESULT ShapeUp_GetVersion ( char *  buffer,
size_t *  bufferSize 
) [inline]

Returns the current version of ShapeUp as a string. This is the same string as can be seen in the Help | About dialog.

This function can be used in a two step process. First it's used to query ShapeUp for the buffer size needed to fit the version string, then the actual text can be fetched.

To query for the buffer size, set buffer to NULL, and let bufferSize point to a size_t that will receive the value. The size returned includes space for the null termination of the string. Allocate a proper character buffer and call the function again with this buffer and the returned bufferSize.

Parameters:
buffer is a pointer to a character buffer that will receive the text.
bufferSize is a pointer to a size_t indicates the size of the buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_SHAPEUP_GETVERSION

SURESULT ShapeUp_GetWorkspace ( size_t  index,
SUHANDLE hWorkspace 
) [inline]

Asks ShapeUp for a specific workspace by index.

Parameters:
index is a pointer to a size_t that will receive the count value.
hWorkspace is a pointer to a SUHANDLE that will receive a handle to the workspace.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetWorkspace, FNTYPE_SHAPEUP_GETWORKSPACE

SURESULT ShapeUp_GetWorkspaceCount ( size_t *  count  )  [inline]

Asks ShapeUp for the number of workspaces currently opened.

Parameters:
count is a pointer to a size_t that will receive the count value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_SHAPEUP_GETWORKSPACECOUNT

SURESULT ShapeUp_HasJavaScriptSupport ( BOOL *  support  )  [inline]

Asks ShapeUp if it has JavaScript support, i.e. if the Mozilla SpiderMonkey js32.dll is present.

Parameters:
support is a pointer to a BOOL that will receive the value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_SHAPEUP_HASJAVASCRIPTSUPPORT

SURESULT ShapeUp_IsValidHandle ( SUHANDLE  handle,
BOOL *  valid 
) [inline]

Asks ShapeUp if the supplied handle is a valid one.

Parameters:
handle is the handle to test.
valid is a pointer to a BOOL that will receive the value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBOOL, FNTYPE_SHAPEUP_ISVALIDHANDLE

SURESULT ShapeUp_ReleaseStatusBarPane ( SUHANDLE  hStatusPane  )  [inline]

Releases a pane in the ShapeUp status bar previously allocated by a call to ShapeUp_AllocateStatusBarPane(). A call to this function invalidates the hStatusPane handle.

Parameters:
hStatusPane is a SUHANDLE to the pane to release.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
ShapeUp_AllocateStatusBarPane(), FNTYPE_SHAPEUP_SETSTATUSBARPANEINFO

SURESULT ShapeUp_RemoveAllHooks (  )  [inline]

Removes all removable hooks. Not all hooks are removable. Don't use.

Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_SHAPEUP_REMOVEHOOK

SURESULT ShapeUp_RemoveHook_Helper ( int  hookType  )  [inline]

Helper function for internal use.

Parameters:
hookType is the HOOKTYPE value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGRemoveHook, FNTYPE_SHAPEUP_REMOVEHOOK

SURESULT ShapeUp_RemoveLayerSelectionChangedHook (  )  [inline]

Removes the notification hook set by an earlier call to ShapeUp_AddLayerSelectionChangedHook().

Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_LAYERSELCHANGE, FNTYPE_SHAPEUP_REMOVEHOOK

SURESULT ShapeUp_RemoveMouseMoveHook (  )  [inline]

Removes the mouse move notification hook set by an earlier call to ShapeUp_AddMouseMoveHook().

Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_MOUSEMOVE, FNTYPE_SHAPEUP_REMOVEHOOK

SURESULT ShapeUp_RemoveShapeSelectionChangedHook (  )  [inline]

Removes the notification hook set by an earlier call to ShapeUp_AddShapeSelectionChangedHook().

Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
HOOKTYPE_SHAPESELCHANGE, FNTYPE_SHAPEUP_REMOVEHOOK

SURESULT ShapeUp_SetProgress ( SUHANDLE  hProgress,
float  progress 
) [inline]

Sets the progress of the ShapeUp progress bar.

Parameters:
hProgress is the SUHANDLE to the progress bar.
progress is the value of the progress. 0 <= progress <= 1.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetFloat, ShapeUp_BeginProgress(), FNTYPE_SHAPEUP_SETPROGRESS

SURESULT ShapeUp_SetStatusBarPaneInfo ( SUHANDLE  hStatusPane,
const char *  text,
HICON  hIcon,
void *  pReserved 
) [inline]

Sets information in an allocated pane in the ShapeUp status bar.

Parameters:
hStatusPane is a handle to the status bar pane.
text is a pointer to a null terminated string to be displayed. May be NULL to clear the current text.
hIcon is a handle to an icon to be displayed. May be NULL to clear the current icon.
pReserved is fur future use, must be NULL.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetStatusBarPaneInfo, ShapeUp_AllocateStatusBarPane(), FNTYPE_SHAPEUP_SETSTATUSBARPANEINFO

SURESULT ShapeUp_SetStatusBarText ( const char *  text  )  [inline]

Sets informational text in the ShapeUp status bar.

Parameters:
text is a pointer to a null terminated string to be displayed. May be NULL to clear the current text.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetText, FNTYPE_SHAPEUP_SETSTATUSBARTEXT

SURESULT ShapeUp_WantUpdate ( unsigned long  userData  )  [inline]

Requests a synchronised call from ShapeUp.

If a plug-in is running a separate thread, that thread is not allowed to call any of the ShapeUp API functions except ShapeUp_WantUpdate(). The plug-in then has to wait for its hook function to get called in which it may access all ShapeUp API functions.

Parameters:
userData is a user specific value that will be sent to the hook function when the syncronised call occurs.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGWantUpdate, FNTYPE_SHAPEUP_WANTUPDATE, HOOKTYPE_WANTUPDATE, GPI Threading

SURESULT Theme_AddAttribute ( SUHANDLE  hTheme,
unsigned long  type,
const char *  name,
const char *  defaultval,
size_t *  index 
) [inline]

Adds a new attribute to a ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to the theme.
type is the ATTRIBUTETYPE of the new attribute.
name is null-terminated string containing the name of the new attribute. This parameter cannot be NULL nor an empty string.
defaultval is null-terminated string containing a default value of the new attribute. This parameter might be NULL.
index is a pointer to a size_t that will receive the zero-based index of the added attribute. This parameter might be NULL if it's of no interest.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGAddAttribute, FNTYPE_THEME_ADDATTRIBUTE, ATTRIBUTETYPE

SURESULT Theme_AddAttribute ( SUHANDLE  hTheme,
unsigned long  type,
const char *  name,
size_t *  index 
) [inline]

SURESULT Theme_AddShape ( SUHANDLE  hTheme,
const CShapeRecord *  shapeData,
SUHANDLE hShape 
) [inline]

Adds a copy of a new shape object to a theme.

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme.
shapeData is a pointer to the new shape object to add.
hShape is a pointer to a SUHANDLE that will receive a handle to the new shape object.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGAddShape, FNTYPE_THEME_ADDSHAPE

SURESULT Theme_BatchAddShapeBegin ( SUHANDLE  hTheme  )  [inline]

Turns off indexing and other time consuming tasks when calling Theme_AddShape(). Use this if many shapes should be added at once. After the shapes have been added, call Theme_BatchAddShapeEnd() to turn the features back on again.

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme.
See also:
Theme_AddShape(), Theme_BatchAddShapeEnd()

SURESULT Theme_BatchAddShapeEnd ( SUHANDLE  hTheme  )  [inline]

Turns on indexing and other tasks after calling Theme_AddShape().

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme.
See also:
Theme_AddShape(), Theme_BatchAddShapeBegin()

SURESULT Theme_ClearSelection ( SUHANDLE  hTheme  )  [inline]

Clears the current shape selection in a theme.

Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_THEME_CLEARSELECTION

SURESULT Theme_DeleteAttribute ( SUHANDLE  hTheme,
size_t  index 
) [inline]

Deletes an attribute from a ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to the theme.
index is the zero-based index of the attribute to delete.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGDeleteAttribute, FNTYPE_THEME_DELETEATTRIBUTE

SURESULT Theme_DeleteShape ( SUHANDLE  hTheme,
SUHANDLE  hShape 
) [inline]

Deletes a shape within a ShapeUp theme. After this operation, the hShape handle will be invalid.

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme containing the shape object to delete.
hShape is a SUHANDLE to the shape object to delete.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGDeleteShape, FNTYPE_THEME_DELETESHAPE

SURESULT Theme_GetAttributeCount ( SUHANDLE  hTheme,
size_t *  count 
) [inline]

Retrieves the number of attributes in a ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to the theme to query.
count is a pointer to size_t that will receive the attribute count.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, FNTYPE_THEME_GETATTRIBUTECOUNT

SURESULT Theme_GetAttributeIndex ( SUHANDLE  hTheme,
const char *  name,
size_t *  index 
) [inline]

Retrieves the index of a named attribute in a ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to the theme to query.
name is a null-terminated string containing the name of the attribute to query.
index is a pointer to a size_t which will receive the index value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function. A return value of SURESULT_FALSE means the lookup failed.
See also:
SUARGGetAttributeIndex, FNTYPE_THEME_GETATTRIBUTEINDEX

SURESULT Theme_GetAttributeName ( SUHANDLE  hTheme,
size_t  column,
char *  buffer,
size_t *  bufferSize 
) [inline]

Retrieves the name of an attribute in a ShapeUp theme.

This function can be used in a two step process. First it's used to query ShapeUp for the buffer size needed to fit the name, then the actual name can be fetched.

To query for the buffer size, set buffer to NULL, and let bufferSize point to a size_t that will receive the value. The size returned includes space for the null termination of the string. Allocate a proper character buffer and call the function again with this buffer and the returned bufferSize.

Parameters:
hTheme is the SUHANDLE to the theme to query.
column is the zero-based index of the attribute to query.
buffer is a pointer to a character buffer that will receive the text.
bufferSize is a pointer to a size_t indicates the size of the buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetText, FNTYPE_THEME_GETATTRIBUTENAME

SURESULT Theme_GetAttributeType ( SUHANDLE  hTheme,
size_t  column,
unsigned long *  type 
) [inline]

Retrieves the type of an attribute in a ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to the theme to query.
column is the zero-based index of the attribute to query.
type is a pointer to an unsigned long which will receive the type value.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetAttributeType, FNTYPE_THEME_GETATTRIBUTETYPE, ATTRIBUTETYPE

SURESULT Theme_GetBounds ( SUHANDLE  hTheme,
double *  xmin,
double *  ymin,
double *  xmax,
double *  ymax 
) [inline]

Gets the themes's bounding box.

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme to query.
xmin is a pointer to a double that will receive the west-most value. This parameter might be NULL if it's of no interest.
ymin is a pointer to a double that will receive the south-most value. This parameter might be NULL if it's of no interest.
xmax is a pointer to a double that will receive the east-most value. This parameter might be NULL if it's of no interest.
ymax is a pointer to a double that will receive the north-most value. This parameter might be NULL if it's of no interest.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBounds, FNTYPE_THEME_GETBOUNDS

SURESULT Theme_GetComment ( SUHANDLE  hTheme,
char *  buffer,
size_t *  bufferSize 
) [inline]

Retrieves a theme's comment.

This function can be used in a two step process. First it's used to query ShapeUp for the buffer size needed to fit the comment, then the actual comment can be fetched.

To query for the buffer size, set buffer to NULL, and let bufferSize point to a size_t that will receive the value. The size returned includes space for the null termination of the string. Allocate a proper character buffer and call the function again with this buffer and the returned bufferSize.

Parameters:
hTheme is the SUHANDLE to the theme to query.
buffer is a pointer to a character buffer that will receive the text.
bufferSize is a pointer to a size_t indicates the size of the buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetText, FNTYPE_THEME_GETCOMMENT

SURESULT Theme_GetFillColor ( SUHANDLE  hTheme,
COLORREF *  clr 
) [inline]

Gets a theme's fill color.

Parameters:
hTheme is the SUHANDLE to the theme.
clr is a pointer to a COLORREF value that will receive the current fill color.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetColor, FNTYPE_THEME_GETFILLCOLOR

SURESULT Theme_GetFont ( SUHANDLE  hTheme,
LOGFONT *  font,
COLORREF *  clr 
) [inline]

Retrieves font information used for labels from a ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to the theme to query.
font is a pointer to a LOGFON struct that will receive the font properties. This parameter might be NULL if it's of no interest.
clr is a pointer to a COLORREF that will receive the text color. This parameter might be NULL if it's of no interest.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetInfoTip, FNTYPE_THEME_GETINFOTIP

SURESULT Theme_GetInfoTip ( SUHANDLE  hTheme,
SUHANDLE  hShape,
char *  buffer,
size_t *  bufferSize 
) [inline]

Retrieves the translated InfoTip of a shape in a ShapeUp theme.

This function can be used in a two step process. First it's used to query ShapeUp for the buffer size needed to fit the text, then the actual text can be fetched.

To query for the buffer size, set buffer to NULL, and let bufferSize point to a size_t that will receive the value. The size returned includes space for the null termination of the string. Allocate a proper character buffer and call the function again with this buffer and the returned bufferSize.

Parameters:
hTheme is the SUHANDLE to the theme containing the shape.
hShape is the SUHANDLE to the shape to query.
buffer is a pointer to a character buffer that will receive the text.
bufferSize is a pointer to a size_t indicates the size of the buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetInfoTip, FNTYPE_THEME_GETINFOTIP

SURESULT Theme_GetIntersectingShapes ( SUHANDLE  hTheme,
SUHANDLE  hShape,
SUHANDLE hRecordset 
) [inline]

Gets all shapes from a theme intersecting a specific shape. If the shape indicated by hShape is in the searched theme, hTheme, that shape will not be included in the result.

IMPORTANT: Retrieved recordsets must be closed by a call to Recordset_Close().

Parameters:
hTheme is the SUHANDLE to the theme to query.
hShape is the SUHANDLE to the shape that will be used for intersection tests.
hRecordset is a pointer to an SUHANDLE that will receive a handle to a recordset containing the intersecting shapes.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandleByIndex, FNTYPE_THEME_GETSHAPEFROMINDEX, Theme_GetShape()

SURESULT Theme_GetName ( SUHANDLE  hTheme,
char *  buffer,
size_t *  bufferSize 
) [inline]

Retrieves the name of a ShapeUp theme.

This function can be used in a two step process. First it's used to query ShapeUp for the buffer size needed to fit the name, then the actual name can be fetched.

To query for the buffer size, set buffer to NULL, and let bufferSize point to a size_t that will receive the value. The size returned includes space for the null termination of the string. Allocate a proper character buffer and call the function again with this buffer and the returned bufferSize.

Parameters:
hTheme is the SUHANDLE to the theme to query.
buffer is a pointer to a character buffer that will receive the text.
bufferSize is a pointer to a size_t indicates the size of the buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetText, FNTYPE_THEME_GETNAME

SURESULT Theme_GetPenColor ( SUHANDLE  hTheme,
COLORREF *  clr 
) [inline]

Gets a theme's pen color.

Parameters:
hTheme is the SUHANDLE to the theme.
clr is a pointer to a COLORREF value that will receive the current pen color.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetColor, FNTYPE_THEME_GETPENCOLOR

SURESULT Theme_GetPenStyle ( SUHANDLE  hTheme,
size_t *  style 
) [inline]

Gets a theme's pen style.

Parameters:
hTheme is the SUHANDLE to the theme.
style is a pointer to a size_t value that will receive the current pen style.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, PENSTYLE, FNTYPE_THEME_GETPENSTYLE

SURESULT Theme_GetPenWidth ( SUHANDLE  hTheme,
size_t *  width 
) [inline]

Gets a theme's pen width.

Parameters:
hTheme is the SUHANDLE to the theme.
width is a pointer to a size_t value that will receive the current pen width.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, FNTYPE_THEME_GETPENWIDTH

SURESULT Theme_GetSelectedShapes ( SUHANDLE  hTheme,
SUHANDLE hRecordset 
) [inline]

Gets all selected shapes from a ShapeUp theme.

IMPORTANT: Retrieved recordsets must be closed by a call to Recordset_Close().

Parameters:
hTheme is the SUHANDLE to the theme to query.
hRecordset is a pointer to an SUHANDLE that will receive a handle to a recordset containing the selected shapes.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandle, FNTYPE_THEME_GETSELECTEDSHAPES, Theme_GetShape()

SURESULT Theme_GetSelectedShapesInRect ( SUHANDLE  hTheme,
double  xmin,
double  ymin,
double  xmax,
double  ymax,
BOOL  bPartInRectOk,
SUHANDLE hRecordset 
) [inline]

Gets all selected shapes from a theme contained in or intersecting a rectangle.

IMPORTANT: Retrieved recordsets must be closed by a call to Recordset_Close().

Parameters:
hTheme is the SUHANDLE to the theme to query.
xmin is the west-most bound of the rectangle.
ymin is the south-most bound of the rectangle.
xmax is the east-most bound of the rectangle.
ymax is the north-most bound of the rectangle.
bPartInRectOk if true, this function returns a recordset containing all selected shapes that intersects the specified rectangle. If false, it will return all selected shapes that are contained in the rectangle.
hRecordset is a pointer to an SUHANDLE that will receive a handle to a recordset containing the resulting shapes.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetShapesInRect, FNTYPE_THEME_GETSELECTEDSHAPESINRECT, Theme_GetShape()

SURESULT Theme_GetSelectionCount ( SUHANDLE  hTheme,
size_t *  count 
) [inline]

Retrieves the number of selected shape objects in a ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to the theme to query.
count is a pointer to size_t that will receive the selected shape object count.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, FNTYPE_THEME_GETSELECTIONCOUNT

SURESULT Theme_GetShape ( SUHANDLE  hTheme,
size_t  nIndex,
SUHANDLE hShape 
) [inline]

Gets a shape from a theme.

Parameters:
hTheme is the SUHANDLE to the theme to query.
nIndex is the zero-based index of the shape whithin the theme.
hShape is a pointer to an SUHANDLE that will receive the shape handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandleByIndex, FNTYPE_THEME_GETSHAPE, Theme_GetShapeCount()

SURESULT Theme_GetShapeCount ( SUHANDLE  hTheme,
size_t *  count 
) [inline]

Retrieves the number of shape objects in a ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to the theme to query.
count is a pointer to size_t that will receive the shape object count.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, FNTYPE_THEME_GETSHAPECOUNT

SURESULT Theme_GetShapeFromIndex ( SUHANDLE  hTheme,
size_t  nIndex,
SUHANDLE hShape 
) [inline]

Gets a shape from a theme looking it up by its internal index identifier.

Parameters:
hTheme is the SUHANDLE to the theme to query.
nIndex is the shape's internal index identifier.
hShape is a pointer to an SUHANDLE that will receive the shape handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandleByIndex, FNTYPE_THEME_GETSHAPEFROMINDEX, Theme_GetShape()

SURESULT Theme_GetShapesByQuery ( SUHANDLE  hTheme,
const char *  where,
SUHANDLE hRecordset 
) [inline]

Gets all selected shapes from a theme matching attributes.

IMPORTANT: Retrieved recordsets must be closed by a call to Recordset_Close().

Parameters:
hTheme is the SUHANDLE to the theme to query.
where is a null-terminated string containing a SQL-like where statement, as can be found in the ShapeUp Query Dialog, to use for matching.
hRecordset is a pointer to an SUHANDLE that will receive a handle to a recordset containing the matching shapes.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetShapesByQuery, FNTYPE_THEME_GETSHAPESBYQUERY, Theme_GetShape()

SURESULT Theme_GetShapesInRect ( SUHANDLE  hTheme,
double  xmin,
double  ymin,
double  xmax,
double  ymax,
BOOL  bPartInRectOk,
SUHANDLE hRecordset 
) [inline]

Gets all shapes from a theme contained in or intersecting a rectangle.

IMPORTANT: Retrieved recordsets must be closed by a call to Recordset_Close().

Parameters:
hTheme is the SUHANDLE to the theme to query.
xmin is the west-most bound of the rectangle.
ymin is the south-most bound of the rectangle.
xmax is the east-most bound of the rectangle.
ymax is the north-most bound of the rectangle.
bPartInRectOk if true, this function returns a recordset containing all shapes that intersects the specified rectangle. If false, it will return all shapes that are contained in the rectangle.
hRecordset is a pointer to an SUHANDLE that will receive a handle to a recordset containing the resulting shapes.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetShapesInRect, FNTYPE_THEME_GETSHAPESINRECT, Theme_GetShape()

SURESULT Theme_GetShapeType ( SUHANDLE  hTheme,
ShapeType *  type 
) [inline]

Retrieves the type of shapes this theme contains.

Parameters:
hTheme is the SUHANDLE to the theme to query.
type is a pointer to a ShapeType that will receive the theme's shape type.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetShapeType, FNTYPE_THEME_GETSHAPETYPE,

SURESULT Theme_InvertSelection ( SUHANDLE  hTheme  )  [inline]

Inverts the current selection in a theme.

Parameters:
hTheme is the SUHANDLE to the theme.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_THEME_INVERTSELECTION

SURESULT Theme_IsReadOnly ( SUHANDLE  hTheme,
BOOL *  readonly 
) [inline]

Determines if a theme is read-only.

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme to query.
readonly is a pointer to a BOOL that will receive the read-only state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBOOL, FNTYPE_THEME_ISREADONLY

SURESULT Theme_IsSelected ( SUHANDLE  hTheme,
BOOL *  selected 
) [inline]

Determines if a theme is selected.

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme to query.
selected is a pointer to a BOOL that will receive the selected state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBOOL, FNTYPE_THEME_ISSELECTED

SURESULT Theme_IsVisible ( SUHANDLE  hTheme,
BOOL *  visible 
) [inline]

Determines if a theme is visible.

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme to query.
visible is a pointer to a BOOL that will receive the visibility state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBOOL, FNTYPE_THEME_ISVISIBLE

SURESULT Theme_LookupWorkspace ( SUHANDLE  hTheme,
SUHANDLE hWorkspace 
) [inline]

Retrievs the workspace containing the ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to a theme.
hWorkspace is a pointer to an SUHANDLE that will receive a handle to the hosting workspace.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandle, FNTYPE_THEME_LOOKUPWORKSPACE

SURESULT Theme_RecalcBounds ( SUHANDLE  hTheme  )  [inline]

Recalculates a themes's bounding box. This function needs to be called after the geometry of a contained object is changed.

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme to update.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_THEME_RECALCBOUNDS

SURESULT Theme_ReplaceShapeData ( SUHANDLE  hTheme,
SUHANDLE  hShape,
const CShapeRecord *  shapeData 
) [inline]

Replaces the geometry of a shape object in a theme with a new geometry.

Parameters:
hTheme is the SUHANDLE to the ShapeUp theme.
hShape is a SUHANDLE to the shape object to replace.
shapeData is a pointer to the new shape object to insert.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGReplaceShapeData, FNTYPE_THEME_REPLACESHAPEDATA

SURESULT Theme_Select ( SUHANDLE  hTheme,
bool  select 
) [inline]

Selects a theme.

Parameters:
hTheme is the SUHANDLE to the theme.
select is true if selecting and false if deselecting.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_THEME_SELECT

SURESULT Theme_SetAttributeComment ( SUHANDLE  hTheme,
size_t  index,
const char *  buffer 
) [inline]

Sets an attribute's comment.

Parameters:
hTheme is the SUHANDLE to the theme.
index is the zero-based index of the attribute.
buffer is a null-terminated string that contains the new comment. Use NULL to clear the comment.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetTextByIndex, FNTYPE_THEME_SETATTRIBUTECOMMENT

SURESULT Theme_SetComment ( SUHANDLE  hTheme,
const char *  buffer 
) [inline]

Sets a theme's comment.

Parameters:
hTheme is the SUHANDLE to the theme.
buffer is a null-terminated string that contains the new comment.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetText, FNTYPE_THEME_SETCOMMENT

SURESULT Theme_SetFillColor ( SUHANDLE  hTheme,
COLORREF  clr 
) [inline]

Sets a theme's fill color.

Parameters:
hTheme is the SUHANDLE to the theme.
clr is a COLORREF value for the new color.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetColor, FNTYPE_THEME_SETFILLCOLOR

SURESULT Theme_SetName ( SUHANDLE  hTheme,
const char *  buffer 
) [inline]

Sets the name of a ShapeUp theme.

Parameters:
hTheme is the SUHANDLE to the theme.
buffer is a null-terminated string that contains the new name.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetText, FNTYPE_THEME_SETNAME

SURESULT Theme_SetPenColor ( SUHANDLE  hTheme,
COLORREF  clr 
) [inline]

Sets a theme's pen color.

Parameters:
hTheme is the SUHANDLE to the theme.
clr is a COLORREF value for the new color.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetColor, FNTYPE_THEME_SETPENCOLOR

SURESULT Theme_SetPenStyle ( SUHANDLE  hTheme,
size_t  style 
) [inline]

Sets a theme's pen style.

Parameters:
hTheme is the SUHANDLE to the theme.
style is a size_t value for the new pen style.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetUnsigned, PENSTYLE, FNTYPE_THEME_SETPENSTYLE

SURESULT Theme_SetPenWidth ( SUHANDLE  hTheme,
size_t  width 
) [inline]

Sets a theme's pen width.

Parameters:
hTheme is the SUHANDLE to the theme.
width is a size_t value for the new pen width.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetUnsigned, FNTYPE_THEME_SETPENWIDTH

SURESULT Theme_SetRasterImage ( SUHANDLE  hTheme,
HBITMAP  hbm,
double  west,
double  south,
double  east,
double  north,
const char *  sourceHint 
) [inline]

Sets a raster themes image data.

Parameters:
hTheme is the SUHANDLE to the theme.
hbm is a handle to a Windows bitmap. ShapeUp will take ownership of the bitmap and destroy it when its no longer needed.
west is the western boudary of the raster.
south is the southern boudary of the raster.
east is the eastern boudary of the raster.
north is the northern boudary of the raster.
sourceHint is a description of where the data came from. E.g. if loaded from a file, this could be the file name. This parameter is informational only, and may be NULL. If supplied, it is displayed in the ShapeUp statistical view.
See also:
SUARGSetRasterImage, FNTYPE_THEME_SETRASTERIMAGE

SURESULT Theme_SetSerialData ( SUHANDLE  hTheme,
size_t  byteCount,
const void *  bytes 
) [inline]

Sets data to be serialized with a theme. This function can be called at any time setting new data. However, when this function is called, any old data is discarded and fully replaced with the new.
This data can later be restored from a ShapeUp workspace file when it is loaded, if the plug-in has set up a deserialize hook using the ShapeUp_AddDeserializeHook call.

Parameters:
hTheme is the SUHANDLE to the theme.
byteCount is the size of the bytes array.
bytes is a pointer to a byte sequence containing the data to be serialized.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetSerialData, FNTYPE_WORKSPACE_SETSERIALDATA, ShapeUp_AddDeserializeHook()

SURESULT ToolBar_Create ( HINSTANCE  hInstResource,
LPCTSTR  lpszResourceName,
const char *  name,
SUHANDLE hToolbar 
) [inline]

Creates a new ShapeUp toolbar.

Parameters:
hInstResource is plug-in (DLL) resource instance from where ShapeUp loads te toolbar resource.
lpszResourceName is resource identifier of the toolbar to load.
name is a null terminated string containing the name of the new toolbar. E.g. this name is used in the View | Plug-in Toolbars and should be on the form "<MYNAME> Toolbar".
hToolbar is a pointer to an SUHANDLE that will receive the toolbar handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGCreateToolBar, FNTYPE_TOOLBAR_CREATE

SURESULT ToolBar_GetButtonCount ( SUHANDLE  hToolbar,
size_t *  count 
) [inline]

Retrieves the number of buttons in a ShapeUp toolbar.

Parameters:
hToolbar is the SUHANDLE to the toolbar to query.
count is a pointer to size_t that will receive the toolbar button count.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, ToolBar_Create(), FNTYPE_TOOLBAR_GETBUTTONCOUNT

SURESULT ToolBar_IsVisible ( SUHANDLE  hToolbar,
BOOL *  visible 
) [inline]

Checks if this toolbar is visible or not.

Parameters:
hToolbar is the SUHANDLE to the toolbar to query.
visible is a pointer to BOOL that will receive the toolbar state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBOOL, ToolBar_Create(), FNTYPE_TOOLBAR_ISVISIBLE

SURESULT ToolBar_SetButtonChecked ( SUHANDLE  hToolbar,
UINT  nID,
BOOL  bChecked 
) [inline]

Checkes or unchecks a ShapeUp toolbar button.

Parameters:
hToolbar is the SUHANDLE to the toolbar containing the button.
nID is the command ID of the button.
bChecked is the new checked state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetButtonBOOL, FNTYPE_TOOLBAR_SETBUTTONCHECKED

SURESULT ToolBar_SetButtonEnabled ( SUHANDLE  hToolbar,
UINT  nID,
BOOL  bEnabled 
) [inline]

Enables or disables a ShapeUp toolbar button.

Parameters:
hToolbar is the SUHANDLE to the toolbar containing the button.
nID is the command ID of the button.
bEnabled is the new enabled state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetButtonBOOL, FNTYPE_TOOLBAR_SETBUTTONENABLED

SURESULT Workspace_AddDataPage ( SUHANDLE  hWorkspace,
const char *  name,
HWND *  page,
SUHANDLE hDataPage 
) [inline]

Creates a new custom data page for a workspace. A data page is an addition to the four native data pages supplied by ShapeUp: Attributes, Coordinates, Statistics and Bookmarks.
A custom data page can be used to display any windows control as a child.

Parameters:
hWorkspace is the SUHANDLE to the workspace.
name is the name of the new data page. This name is displayed in the view menu as well as in the Quick Tabs.
page is a pointer to a windows handle to be used as the parent of the new the new child control. This parameter might be NULL.
hDataPage is a SUHANDLE that will identify the created data page. This parameter might be NULL.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGAddDataPage, FNTYPE_WORKSPACE_ADDDATAPAGE

SURESULT Workspace_BrowseTheme ( SUHANDLE  hWorkspace,
const char *  title,
SUHANDLE hTheme 
) [inline]

Opens ShapeUp's theme selection dialog and lets the user select a theme.

Parameters:
hWorkspace is the SUHANDLE to the workspace containing the themes.
title is a null-terminated string containing the title for the dialog. Might be NULL if default title "Select Theme" is ok.
hTheme is a pointer to an SUHANDLE that will receive the theme handle. This handle will be NULL if the user presses cancel.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGBrowseTheme, FNTYPE_WORKSPACE_BROWSETHEME

SURESULT Workspace_ClearSelection ( SUHANDLE  hWorkspace  )  [inline]

Deselects all themes in a workspace.

Parameters:
hWorkspace is the SUHANDLE to the workspace.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_WORKSPACE_CLEARSELECTION

SURESULT Workspace_CreateNewTheme ( SUHANDLE  hWorkspace,
ShapeType  type,
const char *  name,
SUHANDLE hTheme 
) [inline]

Creates a new theme of specified sort in a ShapeUp workspace.

Parameters:
hWorkspace is a SUHANDLE to the workspace to add the new theme in.
type is the type of objects this theme should contain.
name is a null-terminated string used as the themes initial name. This parameter might be NULL to get default naming.
hTheme is a pointer to an SUHANDLE that will receive a handle to the new theme.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGCreateNewTheme, FNTYPE_WORKSPACE_CREATENEWTHEME

SURESULT Workspace_CreateNewThemeFromSelection ( SUHANDLE  hWorkspace,
SUHANDLE  hSourceTheme,
const char *  name,
SUHANDLE hTheme 
) [inline]

Creates a new theme based on the selection in a source theme in this workspace.

Parameters:
hWorkspace is a SUHANDLE to the workspace to add the new theme in.
hSourceTheme is the theme containing selected shapes to be copied.
name is a null-terminated string used as the themes initial name. This parameter might be NULL to get default naming.
hTheme is a pointer to an SUHANDLE that will receive a handle to the new theme.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGCreateNewThemeFromSelection, FNTYPE_WORKSPACE_CREATENEWTHEMEFROMSELECTION

SURESULT Workspace_GetBounds ( SUHANDLE  hWorkspace,
double *  xmin,
double *  ymin,
double *  xmax,
double *  ymax 
) [inline]

Gets the workspace's bounding box.

Parameters:
hWorkspace is the SUHANDLE to the workspace to query.
xmin is a pointer to a double that will receive the west-most value. This parameter might be NULL if it's of no interest.
ymin is a pointer to a double that will receive the south-most value. This parameter might be NULL if it's of no interest.
xmax is a pointer to a double that will receive the east-most value. This parameter might be NULL if it's of no interest.
ymax is a pointer to a double that will receive the north-most value. This parameter might be NULL if it's of no interest.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBounds, FNTYPE_WORKSPACE_GETBOUNDS

SURESULT Workspace_GetComment ( SUHANDLE  hWorkspace,
char *  buffer,
size_t *  bufferSize 
) [inline]

Retrieves a workspace's comment.

This function can be used in a two step process. First it's used to query ShapeUp for the buffer size needed to fit the comment, then the actual comment can be fetched.

To query for the buffer size, set buffer to NULL, and let bufferSize point to a size_t that will receive the value. The size returned includes space for the null termination of the string. Allocate a proper character buffer and call the function again with this buffer and the returned bufferSize.

Parameters:
hWorkspace is the SUHANDLE to the workspace to query.
buffer is a pointer to a character buffer that will receive the text.
bufferSize is a pointer to a size_t indicates the size of the buffer.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetText, FNTYPE_WORKSPACE_GETCOMMENT

SURESULT Workspace_GetMapWindow ( SUHANDLE  hWorkspace,
SUHANDLE hMap 
) [inline]

Retrieves the ShapeUp map window associated with a workspace.

Parameters:
hWorkspace is the workspace to query.
hMap is a pointer to an SUHANDLE that will receive the map window handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandle, FNTYPE_WORKSPACE_GETMAPWINDOW

SURESULT Workspace_GetSelectedTheme ( SUHANDLE  hWorkspace,
SUHANDLE hTheme 
) [inline]

Retrieves a single selected theme in a ShapeUp workspace. If there is exactly one selected theme, this theme will be retrieved, otherwise the function returns a NULL hTheme handle.

This function is a shortcut to check for and get a single selected theme supplied since many operations needs just one selected theme. To get all selected themes use Workspace_GetSelectedThemes().

Parameters:
hWorkspace is the SUHANDLE to the workspace to query.
hTheme is a pointer to an SUHANDLE that will receive the theme handle, or it will receive a NULL handle if there is more or less than one (1) selected theme.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandle, Workspace_GetSelectedThemes(), FNTYPE_WORKSPACE_GETSELECTEDTHEME

SURESULT Workspace_GetSelectedThemes ( SUHANDLE  hWorkspace,
SUHANDLE hRecordset 
) [inline]

Retrieves all selected themes in a ShapeUp workspace. The result is in the form of a ShapeUp recordset containing ShapeUp theme handles.

Parameters:
hWorkspace is the SUHANDLE to the workspace to query.
hRecordset is a pointer to an SUHANDLE that will receive the recordset handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandle, Workspace_GetSelectedTheme(), FNTYPE_WORKSPACE_GETSELECTEDTHEMES

SURESULT Workspace_GetSelectionCount ( SUHANDLE  hWorkspace,
size_t *  count 
) [inline]

Retrieves the number of selected themes in a ShapeUp workspace.

Parameters:
hWorkspace is the SUHANDLE to the workspace to query.
count is a pointer to size_t that will receive the selected theme count.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, FNTYPE_WORKSPACE_GETSELECTIONCOUNT

SURESULT Workspace_GetTheme ( SUHANDLE  hWorkspace,
size_t  nIndex,
SUHANDLE hTheme 
) [inline]

Retrieves a theme at a specified index in a ShapeUp workspace.

Parameters:
hWorkspace is the SUHANDLE to the workspace to query.
nIndex is zero-based index for the theme.
hTheme is a pointer to an SUHANDLE that will receive the theme handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetHandleByIndex, FNTYPE_WORKSPACE_GETTHEMECOUNT

SURESULT Workspace_GetThemeCount ( SUHANDLE  hWorkspace,
size_t *  count 
) [inline]

Retrieves the number of themes in a ShapeUp workspace.

Parameters:
hWorkspace is the SUHANDLE to the workspace to query.
count is a pointer to size_t that will receive the theme count.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetUnsigned, FNTYPE_WORKSPACE_GETTHEMECOUNT

SURESULT Workspace_IsActive ( SUHANDLE  hWorkspace,
BOOL *  active 
) [inline]

Retrieves the active state of a ShapeUp workspace. A ShapeUp workspace is considered active if it has the input focus.

Parameters:
hWorkspace is the SUHANDLE to the workspace to query.
active is a pointer to a BOOL that will receive the active state.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGGetBOOL, FNTYPE_WORKSPACE_ISACTIVE

SURESULT Workspace_LoadJavaScript ( SUHANDLE  hWorkspace,
const char *  file,
SUHANDLE hJavaScript 
) [inline]

Loads a JavaScript.

Parameters:
hWorkspace is the SUHANDLE to the workspace that will become the target of the JavaScript.
file is a null-terminated string containing the file name of the JavaScript.
hJavaScript is a pointer to an SUHANDLE that will receive the JavaScript handle.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGLoadJavaScript, FNTYPE_WORKSPACE_LOADJAVASCRIPT, JavaScript_Run(), JavaScript_CallFunction(), JavaScript_Close()

SURESULT Workspace_Log ( SUHANDLE  hWorkspace,
const char *  line 
) [inline]

Writes a text to a workspace's console window. It does not end the text with a new line. If a new line is required the character '\n' should be supplied in the text.

Parameters:
hWorkspace is the SUHANDLE to the workspace that contains the console.
line is a null-terminated string to be sent to the console window.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGLog, FNTYPE_WORKSPACE_LOG

SURESULT Workspace_Refresh ( SUHANDLE  hWorkspace  )  [inline]

Forces the entire workspace to update its user interface components, such as the legend view, map view and data view.

Parameters:
hWorkspace is the SUHANDLE to the workspace to refresh.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
FNTYPE_WORKSPACE_REFRESH

SURESULT Workspace_RemoveTheme ( SUHANDLE  hWorkspace,
SUHANDLE  hTheme,
BOOL *  ok 
) [inline]

Removes a theme from a workspace.

Parameters:
hWorkspace is the SUHANDLE to the workspace.
hTheme is the SUHANDLE to the theme to remove.
ok is a pointer to a BOOL that will receive the success of the operation.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGRemoveTheme, FNTYPE_WORKSPACE_REMOVETHEME

SURESULT Workspace_SetComment ( SUHANDLE  hWorkspace,
const char *  buffer 
) [inline]

Sets a workspace's comment.

Parameters:
hWorkspace is the SUHANDLE to the workspace.
buffer is a null-terminated string that contains the new comment.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetText, FNTYPE_WORKSPACE_SETCOMMENT

SURESULT Workspace_SetSerialData ( SUHANDLE  hWorkspace,
size_t  byteCount,
const void *  bytes 
) [inline]

Sets data to be serialized with a workspace. This function can be called at any time setting new data. However, when this function is called, any old data is discarded and fully replaced with the new.
This data can later be restored from a ShapeUp workspace file when it is loaded, if the plug-in has set up a deserialize hook using the ShapeUp_AddDeserializeHook call.

Parameters:
hWorkspace is the SUHANDLE to the workspace.
byteCount is the size of the bytes array.
bytes is a pointer to a byte sequence containing the data to be serialized.
Returns:
This function returns the SURESULT value that ShapeUp returns from the SUExport::ShapeUp_Call() function.
See also:
SUARGSetSerialData, FNTYPE_WORKSPACE_SETSERIALDATA, ShapeUp_AddDeserializeHook()


Variable Documentation

SUExport suapi

Examples:
example_loadergpi.cpp, example_sudatapage.cpp, and example_sutoolbar.cpp.


Generated on Thu Apr 15 10:55:33 2010 for ShapeUp API by  doxygen 1.5.2