Presentation Graphics SDK
Techical Notes
by Three D Graphics, Inc.


 

PGSDK provides the tools you need to add professional charts and graphs to an application. The chart is drawn in your application's window or child window within the rectangular location your application indicates. Your application can draw any number of charts in any number of windows. It is limited only by available memory and Windows system resources.

 

 

Basic Features

 

Key Features

 

Advanced Features

 

What you get...

 

Also see these topics for more information:

 

Creating a Chart

 

User Selections

 

Modifying Attributes

 

Chart Attributes

 

API Functions

 

Compile and Link

 

What else do you need to know?

Basic Features

 

Any Output DC: Drawing can be performed to any output DC -- screen, printer, memory and Windows metafile (WMF). This allows your application to copy a chart to the clipboard as a metafile picture or a bitmap. PGSDK supports True Windows copy and paste capability.

 

Selection Highlight: User-selected objects are easy to highlight. Minimal code is required to highlight a user selection and provide visual feedback to the user

 

Move and Resize Objects: Title, Subtitle, Footnote, Row Title, Column Title, Axis Titles, Frame, and Legend objects can be moved and sized dynamically by the user. When an object is selected and highlighted, eight resize handles appear on the object's bounding box. You can resize by clicking and dragging. PGSDK supplies sample code to show how easily this is done.

 

Annotations: You can draw rectangles, rounded rectangles, ellipses, polygons, lines, arrows, free hand lines, and text boxes.

 

Vertical/Horizontal Charts: 2D Bar, Line, and Area charts can be displayed vertically or horizontally.

 

Numeric Text Formats: Numeric text supports a wide variety of formats for miscellaneous values, dollar amounts, percentages, scientific notation, thousands, and millions.

 

Date & Time: PGSDK supports these data/time formats: "2/25/64", "Feb 25", "Tuesday, February 25, 1964", "18:56" (24 hr. time), "Feb 25, 64", "Feb 64", "Feb 25, 64 6:56 PM"

 

Object Poke Through: PGSDK supports the ability to find the next object even when objects are layered on top of each other. Just because an object is underneath doesn't mean it can't be selected.

 

Horizontal or Vertical Legends: Legends can be oriented horizontally or vertically or as rows and columns under your applications control.

 

Emphasize a Data Series: In a bar, line, or area chart a data series can be emphasized by drawing it as another chart type. For example, on a side by side bar chart your application can make one of the data series draw as a line or area riser.

Key Features

 

A Cross-Platform solution: PGSDK is the only library available for Windows (16&32 bit), Macintosh (680x0 & PowerMac), UNIX, and OS/2. With standard ANSI-C calls that work identically on all computers, you can be guaranteed of having great graphics regardless of the development platform, now or in the future.

 

Two different data models: PGSDK provides two unique ways of inserting data into a graph.

 

1.

Data Callbacks: User-defined functions that the library calls when it draws a riser (basically, you provide the numbers only at the exact moment the library needs to chart them). Perfect for large and/or constantly changing data sets since it avoids constant update and storage issues.

 

2.

Send Data Interface: A family of functions that allow you to "send" data to a chart where it is stored for you.

 

Graphs that actually draw in your own window: Unlike some competitors that draw your chart in another window and then attempt to ''paste" the finished chart in your application, PGSDK creates charts in the Windows DC of your choice. This provides the fastest, cleanest and most intimate link possible.

 

On-screen editing and detection: PGSDK lets you click on any chart element and move or resize it. PGSDK provides XOR handles and highlights so that users get visual feedback on what items have been selected. Specialized feedback functions provide all the information needed to create data drill-down effects and provide an unparalleled degree of chart customization.

 

Advanced Special Effects: When you want to add some sizzle to your application, nothing quite compares to the effects offered by PGSDK. You can put bitmap or vector images on any chart element (choose if they stretch-to-fit or tile!). You can add drop-shadows or any of 16 types of gradient fills. You can even create Pictogram chart types for that "USA Today" look.

 

Left-to-Right and Up-Down Charts: PGSDK has Bi-polar, dual-Y, Horizontal/Vertical and Ascending/Descending controls. You can create special effects such as bar charts that draw from the top down or comparison charts that draw from the middle out (for example, boys on the left and girls on the right).

 

Fantastic 3D Charts! PGSDK offers complete customization of your 3D viewing parameters as well as 16 "preset" 3D Viewing Angles so you can provide your users a multitude of ways to see their data without fear of getting lost in 3D space.

 

AutoFit Font Technology: PGSDK has font technology that allows you to resize the chart in any manner without destroying its readability. Whether Big, Small, Short & Wide, Tall & Skinny, it will automatically select a font size that looks good so you get great looking charts every time.

 

Endless Customization: With PGSDK, you get individual control over the Pie Thickness, Location, Tilt Angle, Rotation Direction, Start Angle, Feeler Position and much more. You also get complete control over the text size and location. With every chart type, PGSDK provides a range of custom features.

 

Full Internationalization Support: If your plans include overseas sale or development, PGSDK is a worldwide charting tool. With features like automatic detection of currency and decimal symbols, easily editable resource strings and double-byte character support, this library is ready to go wherever you go.

 

Undo and Redo Support: PGSDK also provides a powerful undo/redo facility so your users can experiment without any fear of wasting time/destroying previous work. Choose from last-action or Anchor-style undo schemes.

 

RAMFILES: The Presentation Graphics SDK has the ability to load and save chart files directly into memory (called RAMFILES). This provides you with the ability to store frequently used chart templates in resources or embed your user's charts inside your own file format.

 

Year 2000 Compliant: The PGSDK does not manipulate, store, or transform any dates or date-related numbers, strings, or tags anywhere in its code. It cannot be affected in any way by date changes on a client machine. This compliance has been tested and verified at Three |D| Graphics.

Advanced Features

 

Open GL: Advanced 3D Rendering is an alternate form of drawing that is optionally done when a client calls DrawTheGraph(). Instead of platform-specific API calls (for example to the Windows GDI or Macintosh Toolbox), Advanced 3D uses the OpenGL graphics library to display complex 3D versions of charts with dynamic lighting, z-buffering, 3D text, true texture-mapping and other visual enhancements. In addition, OpenGL takes advantage of any available 3D hardware acceleration if the proper drivers are installed. Advanced 3D attributes use the OpenGL libraries developed by Sun and currently supported by Microsoft.

 

Visualize Features: The Visualize features can be used to: 1) make any series, group, or individual riser transparent, 2) suppress any series, group or individual riser (with optional rescaling), or 3) apply a glow effect to any series, group, or individual riser.

 

Curve Fits: PGSDK supports Mean, Median and Standard Deviation curve fits. Advanced curve fitting: Nth-order polynomials, Best-Fit, Error-bars, etc.

 

Multi-Dimensional Labels: PGSDK supports multi-dimensional (also known as "hierichal") ordinal axis labels.

 

User Interface Dialogs: A complete set of Microsoft Office-style Tabbed Dialogs are built directly into PGSDK for use in custom applications. It includes a Chart Type dialog with a customizable gallery of chart templates. It also includes Grids & Scales, Titles & Labels, Chart Options, Series Options, and a complete Formatting dialog with built-in gradients, textures, and pictures!

 

Import/Export Chart from/to JAVA Script Files: Based on special customer request, PGSDK includes API functions that can be used to read and write Java Script Files that are compatible with the Three |D| Graphics Perspective for Java product. For an export operation, you can write the chart "look" only or the graph and its data.

What you get...

 

The contents of the PGSDK will be slightly different depending on your development platform. It will always include:

 

One or more dynamic link library (.DLL) files. These files must be included with your application's distribution package.

 

One or more library (.LIB) files. These files provides access to the PGSDK API calls.

 

One or more header (.H) files. These files contain all PGSDK declarations, function prototypes, data structures, and constants to compile your application.

 

Sample Files: Numerous programming examples show how to access and use API calls and implement features in your program. All of the Features described above are demonstrated in the sample programs. Each program is fully commented. Examples are included for C, C++, Visual Basic, Power Builder, and Actor.

 

Documentation: The following documents describe the Presentation Graphics SDK:

   

1.

Presentation Graphics SDK Programmer's Manual (this manual): Describes now to install and use the SDK.

   

2.

Presentation Graphics SDK Attributes Guide: Describes each of the attributes that can be applied to objects in a chart.

   

3.

Presentation Graphics SDK API Guide: Describes each of the API functions that are available in the graphics library.

   

These documents are provided in Hypertext Markup Language (.HTML) format. They are also available in Microsoft Word 97 (.DOC) format.

Creating a Chart

 

The process of creating a graph requires these steps:

 

1.

Initialize the Library. Your application must initialize the library. This is only done once in your application.

   

// Status of function calls
INT16 nStatus;
// Initialize the library instance
nStatus = InitTDGLIB();

 

2.

Allocate a Graph Pointer to set aside the memory needed for the graph.

   

// Pointer to a graph object
GraphPtr gpGraph;
gpGraph = AllocGraphPtr();

 

3.

Allocate a Draw Environment (DE) to set aside memory needed to describe device context (DC) information.

   

//Pointer to standard draw environment
DrawEnvPtr gpDrawEnv;
gpDrawEnv = AllocDrawEnvPtr(hwnd, DE_PORT_NORMAL);

 

4.

Connect a Data Source. The library calls functions in your application to retrieve the data for charting and the strings used for titles and labels. This example uses the data callback method of accessing data.

   

BOOL PUBLIC InitDataCallBacks(HINSTANCE hInst,
GraphPtr pGraph, INT16 Rows, INT16 Cols)
{
     GraphDataInfo graphData;
     GetGraphDataInfo(pGraph, &graphData);
     if (!graphData.lpfnGetData)
     {
          graphData.lpfnGetString =
          (LPFNGetStringCallBack)GetStringCallback;
          graphData.lpfnGetLabel =
          (LPFNGetLabelCallBack)GetLabelCallback;
          graphData.lpfnGetData =
          (LPFNGetDataCallBack)GetDataCallback;
          graphData.lpfnSetPage = NULL;
          graphData.lpfnRealToString = NULL;
     }
     graphData.nPages = 1;
     graphData.nRows = 4; // # of Series
     graphData.nCols = 3; // # of Groups
     graphData.lClientData = (UINT32) pGraph;
     graphData.nDataIFMode = DATAIF_CALLBACK;
     return SetGraphDataInfo(pGraph, &graphData);
}

   

The data callback version is just one of the data interfaces available with the graphics library. It is used here as an example for setting the data callbacks in an application.

 

5.

Load a Chart Template File into the graph structure. Loading the template file initializes the graph pointer structure with information describing the chart appearance.

   

INT16 Load_TIFFGraph (
     GraphPtr pGraph,/* Pointer to a valid graph */
     UINT32 ulRequest,
     #if defined(WIN32) || UNIX
          // Pointer to "C" style string file name
          char * pszFileName
     #else
          // Pointer to MAC File Specification
          FSSpec * pFileSpec
     #endif
);

   

If you provide the ability to select and modify the attributes of chart objects, a selection list pointer must be initialized.

   

SelListPtr gpList; /* ptr to Selection List */
/* allocate space for the selection list */
gpList = Select_AllocList();

 

6.

Set the Destination Rectangle. The destination rectangle defines (in pixels) the coordinates on the output device context to image the chart.

   

// Rectangle in the client area
Rect rClient;
rClient.top=0;
rClient.left=0;
rClient.bottom=480;
rClient.right=640;
// Pointer to a draw environment
DrawEnvPtr gpDrawEnv;
// Set rectangle
DESetDestRect(gpDrawEnv, &rClient );

 

7.

Draw the graph. Drawing the chart is normally accomplished as a result of a WM_PAINT message from Windows.

   

void CMysampView::OnDraw(CDC* pDC)
{
   CMysampDoc* pDoc = GetDocument();
   ASSERT_VALID(pDoc);
   Rect r;
   GetClientRect(m_Bounds);
   SetRect(&r, m_Bounds.left,m_Bounds.top,
        m_Bounds.right,m_Bounds.bottom);
   if (m_GraphValid && !m_Bounds.IsRectEmpty())
   {
        /* SET CHART SIZE & LOCATION IN WINDOW */
        DESetDestRect(m_pDrawEnv, &r);
        /* SET DRAWING MODE TO NORMAL,ON-SCREEN */
        DESetPortInfo(m_pDrawEnv,(PORTWINDOW)
             pDC->GetSafeHdc(),DE_PORT_NORMAL);
        DrawBegin(m_pDrawEnv); /* DRAW THE GRAPH */
        DrawTheGraph(m_pDrawEnv, pDoc->m_pGraph,
             TRUE, TRUE, TRUE);
        DrawEnd(m_pDrawEnv);
   }
}

User Selections

 

If you provide the ability to select and modify the attributes of chart objects, a selection list pointer must be initialized. Example:

 

CComSelList::CComSelList()
{
     m_pSelList = ::Select_AllocList();
     m_pDetNodeRef= ::AllocPtrClear(sizeof(DetNodeRef ));
     m_nDragHandle = HANDLE_NONE;
}

 

User selections are made by the detection of a mouse click on a chart object. During the chart drawing process a detection node (detnode) is created for each object on the screen. A detnode describes the object, e.g. its position on the screen, series and group number, color, font, line size, object type, etc. Detnodes are created for all the objects on the chart, title, frame, risers, legend, grid lines, areas, etc.

 

The detnode is passed to a selection list API to add the object to the selection list. A selection list is a linked list of user-selected objects. This allows the user to use SHIFT-left-click to keep adding objects to the selection list and modify an attribute to effect all selected objects. This sample adds and removes items from a selection list:

 

void CComSelList::SelectObject( CComDrawEnv& de,
     BOOL bShiftKey, CComPoint pt )
{
     SelItemPtr pSelItem;
     // change to virtual coordinate
     de.DeviceToVirtual( pt );
     if (::FindDetNode ( (GraphPtr) m_pGraph, &pt,
           (DetNodeRefPtr) m_pDetNodeRef))
     {
          // if shift pressed, search to see if
          // already selected. If it is, deselect.
          // If not, add it to the selection list.
          // -------------------------------------
          if (bShiftKey)
          {
               pSelItem = ::Select_SearchList (
               (SelListPtr) m_pSelList,
               (DetNodeRefPtr) m_pDetNodeRef);
               if (pSelItem)
               {
                    XOR_SelItem( de, pSelItem );
                    ::Select_RemoveItem (
                    (SelListPtr) m_pSelList,
                    (SelItemPtr) pSelItem);
               }
               else AddItemToList( de, FALSE );
          }

 

          /* NO SHIFT KEY */
          else
          {
               pSelItem = ::Select_SearchList(
               (SelListPtr) m_pSelList,
               (DetNodeRefPtr) m_pDetNodeRef);
               if(!pSelItem)AddItemToList(de,TRUE);
          }
     }
}

 

//=========================================
// CComSelList::AddItemToList
//=========================================
void CComSelList::AddItemToList(
     CComDrawEnv& de, BOOL bExclusive )
{
     SelItemPtr pSelItem;
     XOR_SelList( de );
     if( bExclusive ) ::Select_ClearList(
          (SelListPtr) m_pSelList );
          pSelItem = ::Select_AddItem (
          (GraphPtr) m_pGraph,
          (SelListPtr) m_pSelList,
          (DetNodeRefPtr) m_pDetNodeRef );

 

     // a curve has more than one detnode (with the
     // same objectID) add all related objects
     // -----------------------------------
     if( pSelItem->nObjectID == O2D_CURVE )
     {
          ::Select_AddRelatedItems((GraphPtr) m_pGraph,
          (SelListPtr) m_pSelList,
          (DetNodeRefPtr) m_pDetNodeRef,
          SLR_SAME_OBJECT,FALSE,O2D_CURVE );
     }

 

     ::Select_CalcHandlesItem((DrawEnvPtr)de.GetDrawEnv(),
          (SelItemPtr) pSelItem );
     XOR_SelList( de );}

 

Highlighting objects in the selection list is also easy. Example:

 

void CComSelList::XOR_SelItem(
     CComDrawEnv& de, void * pSelItem )
{
     ::Select_DrawXorItem((DrawEnvPtr)de.GetDrawEnv(),
          (SelItemPtr) pSelItem );
}

Modifying Attributes

 

Modifying object attributes can change the appearance of the chart. The library defines over 200 attributes that specify the appearance of objects in a chart. In functionality, the attributes range from draw/no draw attributes to size/location attributes to color and special effects. There are basically six API functions that provide the interface to get and set chart object attributes.

 

These API functions can be used to determine the current or default value of an attribute:

 

GetGraphAttr(); Get attribute information for a specific graph object

 

GetGraphAttrSI(); Get attribute information for a specific item in a selection list

 

GetGraphAttrSL(); Get attribute information for the first item in a selection list

 

The GetGraphAttr() function lets you request attribute information for a specific object. The following example requests the color (A_FONTCOLOR_RGB) attribute of the graph's title object (O5D_LBLTITLE):

 

nRet = GetGraphAttr(pGraph, GRAPH_LAYER,
     O5D_LBLTITLE,NULL_SERIESID, NULL_GROUPID,
     A_FONTCOLOR_RGB,(void FAR *)&titlecolor);

 

Rather than identifying a specific Object ID, the GetGraphAttrSI() function lets you choose the object as an item in a selection list. The following example requests the color of the font (A_FONTCOLOR_RGB) for the item in the selection list at gpSelItem:

 

nRet = GetGraphAttrSI (
     gpGraph,         /* graph pointer */
     gpSelItem,       /* pointer to selection item */
     A_FONTCOLOR_RGB, /* attribute to modify */
     &rgbOld          /* old attribute value */
);

 

The GetGraphAttrSL() function requests attribute information for the first item in a selection list. The following example requests the color of the font (A_FONTCOLOR_RGB) for the first item in the selection list at gpList:

 

nRet = GetGraphAttrSL(
     gpGraph,          /* graph pointer */
     gpList,           /* pointer to selection list */
     A_FONTCOLOR_RGB,  /* attribute to modify */
     &rgbOld           /* old attribute value */
);

 

There are three API functions that can be used to set the value of an attribute:

 

SetGraphAttr(); Set attribute information for a specific object

 

SetGraphAttrSI(); Set attribute information for a specific item in a selection list

 

SetGraphAttrSL(); Set attribute information for all items in a selection list where the attribute is applicable.

 

In all three cases, you identify an attribute by its attribute code and specify attribute information that you want to apply to an object in the graph. The SetGraphAttrSL function will only choose items in the selection list that are appropriate to the attribute being used. For example, the A_AREACOLOR_RGB attribute can only be applied to area objects. If there are no area objects in the selection list, the SetGraphAttrSL() function is ignored and a failure status is returned. Also note that other factors/attributes may eliminate some items from being chosen by SetGraphAttrSL(). If an item's A_AREACOLOR_NONE attribute is applied (for example), the color cannot be changed by A_AREACOLOR_RGB.

 

The following example sets the color attribute (A_FONTCOLOR_RGB) of the graph's title object (O5D_LBLTITLE) to the color values stored at titlecolor.

 

//set the color of the title to red
nRet = SetGraphAttr(pGraph, GRAPH_LAYER,
     O5D_LBLTITLE, NULL_SERIESID, NULL_GROUPID,
     A_FONTCOLOR_RGB, (void FAR *)&titlecolor
);

 

The following example sets the alignment (A_FONTALIGN) of a text object at gpSelItem to right justified (&Right):

 

nRet=SetGraphAttrSI(
     gpGraph,gpSelItem, A_FONTALIGN,&Right
);

 

The following example sets the font color (A_FONTCOLOR_RGB) for all selected text items in the selection list at gpList to the color values stored at aRGB[i]:

 

nRet = SetGraphAttrSL (
     gpGraph, gpList, A_FONTCOLOR_RGB, &aRGB[i]
);

Chart Attributes

 

Common Attributes used in all charts

 

2D Attributes

 

3D Attributes

 

Advanced (OpenGL) Attributes

 

Annotation Attributes

 

ABA_ Bar/Area Attributes

 

Color Model Attributes

 

Error Bar Attributes

 

Multi-Dimensional Label Attributes

 

Pie Chart Attributes

 

Polar Chart Attributes

 

Series/Group Attributes

 

Stock Chart Attributes

 

Table Chart Attributes

Common Attributes

 

Common attributes can be applied to any of the chart types.

 

An area on a chart can be a riser, marker, wall, or background. Any part of the chart that has a surface is considered an area

 

A_AREABACKCOLOR; Area background color

 

A_AREACOLOR_ALPHA; Opacity/Transparency for areas

 

A_AREACOLOR_NONE; Area Color None (transparent)

 

A_AREACOLOR_RGB; Area Color definition

 

A_AREADROPSHADOW; Area Drop Shadow

 

A_AREAPATTERN; Area pattern definition

 

A_AREASFX; Area Special Effects definition

 

Font attributes can be applied to any text on the chart:

 

A_FONT_FANCYBOX; Font Fancy Box definition

 

A_FONT_LEADING; Font Leading

 

A_FONTALIGN; Font Alignment

 

A_FONTBACKCOLOR; Font Background Color

 

A_FONTCHARSET; Font Character Set

 

A_FONTCOLOR_NONE; Font Color None (transparent)

 

A_FONTCOLOR_RGB; Font Color definition

 

A_FONTDROPSHADOW; Font Drop Shadow

 

A_FONTNAME; Font Name

 

A_FONTNAME_MBC; Font Name using mix single-byte fonts

 

A_FONTORIENT; Font Orientation

 

A_FONTORIENTCUSTOM; Font Orientation Custom angle

 

A_FONTPATTERN; Font Pattern definition

 

A_FONTSFX; Font Special Effects definition

 

A_FONTSIZE_LIMIT; Font Size Limit

 

A_FONTSIZE_POINT_100; Font Point Size in 100th/Point Units

 

A_FONTSIZE_VC; Font Size in Virtual Coordinates

 

A_FONTSTYLE; Font Style (underline, bold, etc.)

 

Glow attributes apply an alpha-channel color/glow to riser objects.

 

A_GLOW; Glow data objects mode on/off

 

A_GLOW_COLOR; Glow data object's color

 

A_GLOW_MODE; Glow inside, outside, both

 

A_GLOW_THICKNESS; Glow thickness

 

This attribute defines the graph type (3D, bar, line, area, pie, etc.) and sub-type:

 

A_GRAPH_PRESET; Graph Preset (graph type and subtype)

 

Line attributes can be applied to any line on the chart

 

A_LINECOLOR_ALPHA; Opacity/Transparency for lines

 

A_LINECOLOR_NONE; Line Color None (transparent)

 

A_LINECOLOR_RGB; Line Color definition

 

A_LINEPATTERN; Line Pattern (e.g. solid, dash, dot, dot and dash)

 

A_LINESFX; Line Special Effects definition

 

A_LINEWIDTH; Line Width (in virtual coordinates)

 

A_LINEWIDTH_POINT_100; Line Width in 100th/Point Units

 

Location attributes are available for the title, subtitle, and footnote:

 

A_LOCATE_FOOTNOTE; Locate Footenote (position/size of bounding box)

 

A_LOCATE_FRAME; Locate Frame (position/size of chart frame)

 

A_LOCATE_SUBTITLE; Locate Subtitle (position/size of bounding box)

 

A_LOCATE_TITLE; Locate Title (position/size of bounding box)

 

Other common attributes include:

 

A_LOCK_FONTSIZE; Lock Font Size

 

A_SHOW_FOOTNOTE; Show/Hide Footnote

 

A_SHOW_SUBTITLE; Show/Hide Subtitle

 

A_SHOW_TITLE; Show/Hide Title

 

A_SUPPRESS; Suppress data

2D Attributes

 

2-D attributes are those that relate specifically to two-dimensional graph types, bar, line, area, and scatter (XY). Most of the 2-D attributes control the appearance of the chart as a whole:

 

ATTRIBUTE

Description

 

A2D_ADVANCE_CURVEFITS

Advanced Curvefits on a particular series

 

A2D_AUTOFIT_ALL

Autofit All (global autofitting)

 

A2D_AUTOFIT_DATATEXT

Autofit Data Text

 

A2D_AUTOFIT_LEGEND

Autofit Legend

 

A2D_AUTOFIT_O1/_O2

Autofit labels on an ordinal axis

 

A2D_AUTOFIT_X/_Y1/_Y2

Autofit labels on a numeric axis

 

A2D_BAR_GROUP_SPACING

Bar Group Spacing in side by side bar chart

 

A2D_BAR_RISER_WIDTH

Bar Riser Width of all risers in a bar chart

 

A2D_BASEVALUE_X/_Y1/_Y2/_Y3/_Y4

Define the base value from which values are drawn on a numeric axis

 

A2D_BUBBLEGRID_COUNT_X

Bubble Grid Count on the X-axis

 

A2D_BUBBLEGRID_COUNT_Y

Bubble Grid Count on the Y-axis

 

A2D_BUBBLEGRID_POSITION_X

Bubble Grid Position on the X-Axis

 

A2D_BUBBLEGRID_POSITION_Y

Bubble Grid Position on the Y-Axis

 

A2D_COLORBYSERIES

Color By Series or group

 

A2D_CONNECT_STACKBARS

Connect bars in a stacked bar chart

 

A2D_CURVECOLORASSERIES

Curve Color As Series

 

A2D_CURVEMOVING

Curve Moving average line data points

 

A2D_CURVESMOOTH

Curve Smooth data points

 

A2D_DATAFORMAT

Data Format of data input to a 2D graph

 

A2D_DATAFORMAT_VERT

Data Format Vertical orientation of data points

 

A2D_DEPTH_IMS_ANGLE

Depth Angle of 3D effect on surface areas of a 2D chart

 

A2D_DEPTH_IMS_THICK

Depth Thickness of 3D effect on a 2D chart

 

A2D_DEPTH_MODE

Depth Mode of 3D effect on a 2D chart

 

A2D_DIRECTION_X/_Y1/_Y2/_Y3/_Y4/_Z

Direction and order of a numeric axis

 

A2D_EXCLUDE_ZERO_X/_Y1/_Y2/_Y3/_Y4/_Z

Exclude zero as numeric axis origin based on data range

 

A2D_FORMAT_SDLINE

Format Series-Dependent Line formula and coefficient values

 

A2D_FORMAT_SDLINE_ADV

Format Series-Dependent Line formula and coefficient values advanced

 

A2D_FORMAT_X/_Y1/_Y2/_Y3/_Y4/_Z

Format numeric axis labels

 

A2D_FORMAT_X/_Y1/_Y2/_Y3/_Y4/_Z_ADV

Advanced formatting of numeric axis labels

 

A2D_FORMATDTXT_X/_Y1/_Y2/_Y3/_Y4

Format Data Text on a numeric axis

 

A2D_FORMATDTXT_X/_Y1/_Y2/_Y3/_Y4_ADV

Advanced formatting of data text on a numeric axis

 

A2D_GRID_STEP_X/_Y1/_Y2/_Y3/_Y4/_Z

Grid Steps on a numeric axis

 

A2D_GRIDLINES_ON_TOP

Gridlines On Top of all other objects in the chart

 

A2D_GRIDLINES_X/_Y1/_Y2/_Y3/_Y4/_Z

Gridlines on a numeric axis

 

A2D_GRIDLINESORD_O1/_O2

Gridlines on an ordinal axis

 

A2D_GRIDMODEMAJOR_O1

Grid Mode Major on the O1-Axis

 

A2D_GRIDMODEMINOR_O1

Grid Mode Minor on the O1-Axis

 

A2D_HL_COLOR

Highlight Color of a group in a series

 

A2D_IGNORE_GROUPS

Ignore Group

 

A2D_IGNORE_SERIES

Ignores Series

 

A2D_LABELMODE_O1/O2

Label Mode on an ordinal axis

 

A2D_LABELWRAPLINES_O1

Label Wrap Lines on the O1-axis

 

A2D_LABELWRAPMODE_O1

Label Wrap Mode on the O1-axis

 

A2D_LEGEND_FANCYBOX

Legend Fancy Box definition

 

A2D_LEGEND_LOCK

Legend Placement

 

A2D_LEGEND_MARKER_ORIENTATION

Legend Marker Orientation

 

A2D_LOCATE_LEGEND

Locate Legend

 

A2D_LOCATE_LINR_TEXT

Locate Linear Regression Text

 

A2D_LOCATE_TITLE_X/_Y1/_Y2/_Y3/_Y4

Locate a numeric axis title

 

A2D_LOG_X/_Y1/_Y2/_Y3/_Y4

Logarithmic/linear scaling on a numeric axis

 

A2D_MANUAL_PICTOGRAPH_SCALE_VALUE

Unit/Scale to stack pictograms

 

A2D_MARKERSHAPE

Marker Shape in a 2D Chart

 

A2D_MARKERSHAPE_SD

Marker Shape in a 2D Chart for a series

 

A2D_MARKERSIZE

Marker Size in a 2D Chart

 

A2D_MARKERSIZE_SD

Marker Size in a 2D Chart for a series

 

A2D_MOVE_SERIES

Move series in a stacked bar chart

 

A2D_MULTI_Y_INFO

Define Multi-Y axis information

 

A2D_ORD_SPACE_MODE

Ordinal Axis Space Mode

 

A2D_ORIENTATION

Orientation (horizontal/vertical) of chart

 

A2D_PLACE_O1_/O2

Place data value on risers on an ordinal axis

 

A2D_PLACE_X/_Y1/_Y2/_Y3/_Y4

Place data values on risers on a numeric axis

 

A2D_PRESDL_CONN

Pre-Series Dependent connection line

 

A2D_PRESDL_CONNBRK

Pre-Series Dependent connection line with breaks for missing data points

 

A2D_PRESDL_STEP

Pre-Series Dependent step connection line

 

A2D_PRESDL_STEPBRK

Pre-Series Dependent step connection line with breaks for missing data points

 

A2D_PRESDL_STEPVERT

Pre-Series Dependent vertical step connection line

 

A2D_SCALE_X/_Y1/_Y2/_Y3/_Y4/_Z

Scaling on a numeric axis

 

A2D_SCALEBASE

Scale Base of negative risers in a 2D chart

 

A2D_SCALEEND_O1/_O2

Scale End on an ordinal axis

 

A2D_SCALEEND_X/_Y1/_Y2/_Y3/_Y4/_Z

Scale End on a numeric axis

 

A2D_SCALEFREQ_BEG_O1/_O2

Scale Frequency Begin on an ordinal axis

 

A2D_SCALEFREQ_BEG_X/_Y1/_Y2/_Y3/_Y4

Scale Frequency Begin on a numeric axis

 

A2D_SCALEFREQ_END_O1/_O2

Scale Frequency End on an ordinal axis

 

A2D_SCALEFREQ_END_X/_Y1/_Y2/_Y3/_Y4

Scale Frequency End on a numeric axis

 

A2D_SCALEFREQ_O1/_O2

Scale Frequency of labels on an ordinal axis

 

A2D_SCALEFREQ_X/_Y1/_Y2/_Y3/_Y4

Scale Frequency of labels on a numeric axis

 

A2D_SCIMOVAVG

Scientific Moving Average curve definition

 

A2D_SD_SHOWDATATEXT

Series-Dependent Show/Hide DataText

 

A2D_SDDATALINE_TYPE

Series-Dependent Data Line Type (markers, lines, or both)

 

A2D_SDEMPHASIZED

Series-Dependent Emphasize a series

 

A2D_SDLINECONN

Series-Dependent Line Connecting a series

 

A2D_SDLINECURV

Series-Dependent Line Curve connecting a series

 

A2D_SDLINELINR_CORR

Series-Dependent Correction coefficient text

 

A2D_SDLINELINR_EXP

Series-Dependent Exponential linear regression line

 

A2D_SDLINELINR_FORMULA

Series-Dependent Formula text for the linear regression lines

 

A2D_SDLINELINR_LINE

Series-Dependent Linear Regression Line

 

A2D_SDLINELINR_LOG

Series-Dependent common log linear regression line

 

A2D_SDLINELINR_NATLOG

Series-Dependent Natural Log linear regression line

 

A2D_SDLINELINR_NPOLY

Series-Dependent Polynomial fit line

 

A2D_SDLINELINR_NPOLYFAC

Series-Dependent degree of linear regression for the polynomial fit line

 

A2D_SDLINEMEAN

Series-Dependent Mean average line

 

A2D_SDLINEMOVA

Series-Dependent Moving Average line

 

A2D_SDLINESTDD

Series-Dependent Standard Deviation line

 

A2D_SERIES_LABELS_ON_CHART

Series Labels to the right or left of Chart frame

 

A2D_SHOW_BUBBLEGRID

Show/Hide bubble grid

 

A2D_SHOW_DATATEXT

Show/Hide Data Text

 

A2D_SHOW_DATATEXT_CONNECTLINE

Show/Hide connecting line between data text and riser/marker

 

A2D_SHOW_DIVBIPOLAR

Show/Hide line to divide a bipolar chart

 

A2D_SHOW_ERRORBAR

Show/Hide Error Bars

 

A2D_SHOW_LEGEND

Show/Hide Legend in a 2D chart

 

A2D_SHOW_O1_/O2

Show/Hide ordinal axis line and text headers

 

A2D_SHOW_OFFSCALE_X/_Y1/_Y2/_Y3/_Y4

Show/Hide Off-Scale values on a numeric axis

 

A2D_SHOW_QUADRANTS

Show/Hide Quadrants in a Bubble Chart

 

A2D_SHOW_TITLE_SERIES

Show/Hide Series Title

 

A2D_SHOW_TITLE_X/_Y1/_Y2/_Y3/_Y4

Show/Hide a numeric axis title

 

A2D_SHOW_X/_Y1/_Y2/_Y3/_Y4

Show/Hide a numeric axis

 

A2D_SHOW_ZL_X/_Y1/_Y2/_Y3/_Y4

Show/Hide zero line on a numeric axis

 

A2D_SIDE_O1/_O2

Side of chart ordinal axis labels are displayed

 

A2D_SIDE_X/_Y1/_Y2/_Y3/_Y4

Side of chart numeric axis labels are displayed

 

A2D_SIZE_ERRORBARS

Size of Error Bars

 

A2D_SPLITY_ND

Assign series to Y1 or Y2 axis in a BiPolar Chart

 

A2D_SPLITY_POSITION

Split Y1/Y2 position in a BiPolar Chart

 

A2D_SQUARE_LGND_ICONS

Square Legend Icons

 

A2D_STAGGER_O1/_O2

Stagger ordinal axis labels

 

A2D_STAGGER_X/_Y1/_Y2/_Y3/_Y4/_Z

Stagger numeric axis labels

 

A2D_SYMBOL_FORSERIES

Symbol For Series in a 2D chart

 

A2D_UNIFORM_QDRBORDERS

Uniform Quantitative Data Representation (Riser) Border colors

 

A2D_UNIFORM_QDRSHAPES

Uniform Quantitative Data Representation (Riser) Shapes

 

A2D_USE_MANUAL_PICTOGRAPH_SCALE

Enable/Disable manual pictograph scaling

 

A2D_USERLINE_AXIS

User-Specified girdline on an axis

 

A2D_USERLINE_SHOW

User-Specified gridline show/hide

 

A2D_USERLINE_VALUE

User-Specified gridline location

3D Attributes

 

3D attributes relate to the 3D graph types. Most of them control the appearance of the chart as a whole:

 

ATTRIBUTE

Description

 

A3D_AUTOFIT

Autofit entire cube when 3D chart is rotated

 

A3D_AUTOFIT_DATALABELS

Autofit Data Labels in a 3D chart

 

A3D_AUTOFIT_LEGEND

Autofit Legend in a 3D chart

 

A3D_AUTOFIT_TEXT

Autofit Text in a 3D chart

 

A3D_AUTOSHADE_CUBE

Auto Shade the 3D cube in a 3D chart

 

A3D_AUTOSHADE_RISERS

Auto Shade the 3D risers in a 3D chart

 

A3D_AXIS_DIVS_X

Axis Divisions-X on cube walls in a 3D chart

 

A3D_AXIS_DIVS_Y

Axis Divisions-Y on cube walls in a 3D chart

 

A3D_AXIS_DIVS_Z

Axis Divisions-Z on cube walls in a 3D chart

 

A3D_CUSTOMVIEW

Custom View angle in a 3D chart

 

A3D_DATAFORMAT

Data Format of data input to a 3D graph

 

A3D_FIXED_2D_TEXT

Fixed 2D Text or 3D appearance sizing in a 3D chart

 

A3D_FONTBOX

Font Box definition in a 3D chart

 

A3D_FONTMARGIN

Font Margin between text object and its box

 

A3D_FONTOFFSET

Font Offset from axis to text object

 

A3D_FONTSIZE

Font Size of a text object in a 3D chart

 

A3D_FONTWIDTH

Font Width of a 3D text object relative to its height

 

A3D_FORMAT_X

Format X-axes labels in a 3D chart

 

A3D_FORMAT_Y

Format Y-axes labels in a 3D chart

 

A3D_FORMAT_Z

Format Z-axes labels in a 3D chart

 

A3D_GLOW_RISER

Glow Risers in a 3D chart

 

A3D_GRAPH_BY_WHAT

Graph By What (series, group, or series & group)

 

A3D_GRID_FLOOR

Show/Hide gridlines on 3D cube floor

 

A3D_GRID_LWALL

Show/Hide gridlines on 3D cube left wall

 

A3D_GRID_RISER

Show/Hide gridlines on 3D risers

 

A3D_GRID_RWALL

Show/Hide gridlines on 3D cube right wall

 

A3D_IGNORE_SERIES

Ignore Series in a 3D chart

 

A3D_INSET_LGND_ICON

Inset Legend Icon in a 3D chart

 

A3D_INSET_LGND_TEXT

Inset Legend Text in a 3D chart

 

A3D_JUSTIFY

Justifiy 3D text object

 

A3D_LOCATE_COLTITLE_2D

Locate 2D column title in a 3D chart

 

A3D_LOCATE_LEGEND

Locate Legend in a 3D chart

 

A3D_LOCATE_LYTITLE_2D

Locate 2D left Y1-axis title in a 3D chart

 

A3D_LOCATE_ROWTITLE_2D

Locate 2D row title in a 3D chart

 

A3D_LOCATE_RYTITLE_2D

Locate 2D right Y1-axis title in a 3D chart

 

A3D_MARKER_SHAPE

Marker Shape in a 3D chart

 

A3D_MARKER_SHAPE_DEFAULT

Marker Shape Default in a 3D chart

 

A3D_MARKER_SIZE

Marker Size in a 3D chart

 

A3D_RESCALE_ON_SUPPRESS

Rescale On Suppress after visualize attributes

 

A3D_RISERTHICK

Riser Thickness of risers in a 3D chart

 

A3D_SCALEBASE

Scale Base of netative risers in a 3D chart

 

A3D_SCALEEND_X

Scale End on the X-axis in a 3D chart

 

A3D_SCALEEND_Y

Scale End on the Y-axis in a 3D chart

 

A3D_SCALEEND_Z

Scale End on the Z-axis in a 3D chart

 

A3D_SCALEFREQ_X

Scale Frequency on the X-axis in a 3D chart

 

A3D_SCALEFREQ_Y

Scale Frequency on the Y-axis in a 3D chart

 

A3D_SCALEFREQ_Z

Scale Frequency on the Z-axis in a 3D chart

 

A3D_SCALERANGE_X

Scale Range on the X-axis in a 3D chart

 

A3D_SCALERANGE_Y

Scale Range on the Y-axis in a 3D chart

 

A3D_SCALERANGE_Z

Scale Range on the Z-axis in a 3D chart

 

A3D_SCALETYPE_X

Scale Type (logrithmic or linear) on the X-axis in a 3D chart

 

A3D_SCALETYPE_Y

Scale Type (logrithmic or linear) on the Y-axis in a 3D chart

 

A3D_SCALETYPE_Z

Scale Type (logrithmic or linear) on the Z-axis in a 3D chart

 

A3D_SCATTER_N

Scatter line connecting markers in a series

 

A3D_SCATTER_X

Scatter line from each marker to left wall of a 3D cube

 

A3D_SCATTER_Y

Scatter line from each marker to floor of a 3D cube

 

A3D_SCATTER_Z

Scatter line from each marker to right wall of a 3D cube

 

A3D_SERIES_TYPE

Series Type selects riser type for a series or group in a 3D chart

 

A3D_SHOW_FLOOR

Show/Hide Floor of the 3D cube

 

A3D_SHOW_LEGEND

Show/Hide Legend in a 3D chart

 

A3D_SHOW_LWALL

Show/Hide Left Wall of the 3D cube

 

A3D_SHOW_RWALL

Show/Hide Right Wall of the 3D cube

 

A3D_SHOWBOX_DATALABELS

Show/Hide box around data labels in a 3D chart

 

A3D_SHOWOFFSCALE_X

Show/Hide offscale values on the X-axis in a 3D chart

 

A3D_SHOWOFFSCALE_Y

Show/Hide offscale values on the Y-axis in a 3D chart

 

A3D_SHOWOFFSCALE_Z

Show/Hide offscale values on the Z-axis in a 3D chart

 

A3D_SHOWTEXT_ALL

Show/Hide all text in a 3D chart

 

A3D_SHOWTEXT_COLHEADERS

Show/Hide Column Headers in a 3D Chart

 

A3D_SHOWTEXT_COLTITLE

Show/Hide Column Title in a 3D Chart

 

A3D_SHOWTEXT_DATALABELS

Show/Hide Data Labels in a 3D Chart

 

A3D_SHOWTEXT_LEFTNUMBERS

Show/Hide labels next to left wall of 3D cube

 

A3D_SHOWTEXT_LEFTTITLE

Show/Hide title next to left wall of 3D cube

 

A3D_SHOWTEXT_RIGHTNUMBERS

Show/Hide labels next to right wall of 3D cube

 

A3D_SHOWTEXT_RIGHTTITLE

Show/Hide title next to right wall of 3D cube

 

A3D_SHOWTEXT_ROWHEADERS

Show/Hide row headers in a 3D chart

 

A3D_SHOWTEXT_ROWTITLE

Show/Hide Row Title in a 3D chart

 

A3D_SQUARE_LGND_ICONS

Square Legend Icons in a 3D chart

 

A3D_SUPPRESS_RISER

Suppress Riser(s) in a 3D chart

 

A3D_SYMBOL_FORSERIES

Symbol For Series in a 3D chart

 

A3D_TEXT_POSITION

Text Position in a 3D chart

 

A3D_TEXT_QUALITY

Text Quality of headers, titles, & labels in a 3D chart

 

A3D_TRANS_RISER

Transparent Riser(s) in a 3D chart

 

A3D_UNIFORM_QDRSHAPES

Uniform Quantative Data Representation (Riser) Shapes

 

A3D_VIEWANGLES

Viewing Angles of the 3D cube

 

A3D_VIEWSTRUCT

Viewing Structure definition

Advanced Drawing Attributes

 

ATTRIBUTE

Description

 

A3D_ADV_2DDEPTH_DATA

Advanced 2D Depth of the data layer

 

A3D_ADV_2DDEPTH_FRAME

Advanced 2D Depth of Frame

 

A3D_ADV_2DDEPTH_LEGEND

Advanced 2D Depth of Legend

 

A3D_ADV_2DFRAMEFOOT

Advanced 2D Frame Foot definition

 

A3D_ADV_2DFRAMEMARGIN

Advanced 2D Frame Margin definition

 

A3D_ADV_2DVIEWER_DIST

Advanced 2D Viewer Distance

 

A3D_ADV_2DVIEWER_X

Advanced 2D Viewer X

 

A3D_ADV_2DVIEWER_Y

Advanced 2D Viewer Y

 

A3D_ADV_ANTIALIAS

Advanced Antialiasizing

 

A3D_ADV_BGRADIOSITY

Advanced Background Radiosity (back lighting)

 

A3D_ADV_CHARTLIGHT_1

Advanced Chart Light 1 definition

 

A3D_ADV_CHARTLIGHT_2

Advanced Chart Light 2 definition

 

A3D_ADV_CHARTLIGHT_3

Advanced Chart Light 3 definition

 

A3D_ADV_DROP_SHADOW

Advanced Drop Shadow around a Pie Chart

 

A3D_ADV_DEFAULT_MATERIAL

Advanced Default Material for objects

 

A3D_ADV_DOADV_CHART

Advanced Do Advanced Drawing of Chart

 

A3D_ADV_DOADV_TITLES

Advanced Do Advanced Drawing of Chart Titles

 

A3D_ADV_FLOATER_VARIANT

Advanced risers types in a 3D floating cube chart

 

A3D_ADV_FOV

Advanced Field-of-View (FOV)

 

A3D_ADV_HIFI_OBJECTS

Advanced HiFi Objects

 

A3D_ADV_LABEL_MATERIAL

Advanced Label Material

 

A3D_ADV_LIGHTAMBIENT

Advanced Light Ambient

 

A3D_ADV_LOFT_SHAPE

Advanced Loft Shape of risers

 

A3D_ADV_LOFT_TWIST

Advanced Loft Twist of risers

 

A3D_ADV_MATAMBIENT

Advanced Material Ambient light reflecting from default material

 

A3D_ADV_MATGLOW

Advanced Material Glow from the default material

 

A3D_ADV_PIE_EDGETYPE

Advanced Pie Edge Style

 

A3D_ADV_PIE_FEELERTYPE

Advanced feeler type in a pie chart

 

A3D_ADV_PIE_LABELSFACE

Advanced Pie Labels Face (How much pie labels are turned to face the camera)

 

A3D_ADV_PIE_TINTLABELS

Advanced Pie Tint Labels

 

A3D_ADV_RISER_SIDES

Advanced Riser Sides

 

A3D_ADV_ROUNDING

Advanced Rounding to apply to advanced 3D generated objects

 

A3D_ADV_TEXT_STYLE

Advanced Text Styles

 

A3D_ADV_TITLELIGHT

Advanced Title Light definition

Annotation Attributes

 

ATTRIBUTE

Description

 

AAN_ARC_INFO

Annotation Arc Information

 

AAN_ARW_ANGLE

Annotation Arrow Angle

 

AAN_ARW_HDIND

Annotation Arrow Head Indent

 

AAN_ARW_HDWID

Annotation Arrow Head Width

 

AAN_ARW_PRESET

Annotation Arrow Preset

 

AAN_ARW_SIDES

Annotation Arrow Sides

 

AAN_ARW_TLIND

Annotation Arrow Tail Indent

 

AAN_ARW_TLWID

Annotation Arrow Tail Width

 

AAN_BOUNDS

Annotation Bounds

 

AAN_BOXTYPE_BALLOON

Annotation Box Type Balloon

 

AAN_BOXTYPE_BCHART

Annotation Box Type Bullet Chart Text

 

AAN_BOXTYPE_BOX

Annotation Box Type Box

 

AAN_BOXTYPE_DBLTBOX

Annotation Box Type Double Edged Text Box

 

AAN_BOXTYPE_NOBOX

Annotation Box Type No Box

 

AAN_BOXTYPE_THREEDTBOX

Annotation Box Type 3D Text Box

 

AAN_BULLET_SHP

Annotation Bullet Shape

 

AAN_BULLET_SIZE

Annotation Bullet Size

 

AAN_BULLET_SPACING

Annotation Bullet Spacing

 

AAN_ENDPOINTS

Annotation Endpoints of arrow or line

 

AAN_LINEARROWHEADS

Annotation Line Arrowheads

 

AAN_MOVE

Annotation Move

 

AAN_RECT_ROUNDNESS

Annotation Rectangle Roundness

 

AAN_RROUNDNESS_100

Annotation Rectangle Rounding 100%

 

AAN_RROUNDNESS_25

Annotation Rectangle Rounding 25%

 

AAN_RROUNDNESS_50

Annotation Rectangle Rounding 50%

 

AAN_RROUNDNESS_75

Annotation Rectangle Rounding 75%

 

AAN_RROUNDNESS_NONE

Annotation Rectangle Rounding None

 

AAN_TBOX_EDITBOUNDS

Annotation Text Box Editable Bounds

 

AAN_TBOX_MARGINS

Annotation Text Box Margins

 

AAN_TEXT

Annotation Text

 

AAN_THICKNESS

Annotation Thickness

Bar/Area (ABA_) Attributes

 

ATTRIBUTE

Description

 

ABA_PICTOGRAPH

Picture drawn on risers

Color Model Attributes

 

ATTRIBUTE

Description

 

ACM_AUTOMATIC_COLORMODEL

Automatic Color Model Control

 

ACM_COLORDIVISIONS

Color Division in Color Model

 

ACM_COLORMODEL

Color Model scheme

 

ACM_SERIES_COLOR

Series Color in a Color Model

 

ACM_WASH

Wash of a Color Model

 

ACM_WASHBEGIN

Wash Begin color of a Color Model

 

ACM_WASHEND

Wash End color of a Color Model

Error Bar Attributes

 

ATTRIBUTE

Description

 

AEB_ERRORBAR_MODE

Error Bar Mode

 

AEB_ERRORBAR_TYPE

Error Bar Type

 

AEB_ERRORBAR_VALUES

Error Bar Values

 

AEB_ERRORBAR_X_SHOWALL

Error Bars X-Axis Show All

 

AEB_ERRORBAR_X_SHOWSERIES

Error Bars X-Axis Show for Series

 

AEB_ERRORBAR_Y_SHOWALL

Error Bars Y-Axis Show All

 

AEB_ERRORBAR_Y_SHOWSERIES

Error Bars Y-Axis Show for Series

Multi-Dimensional Labels Attributes

 

ATTRIBUTE

Description

 

AMD_OPTIONS

Options for Multi-dimensional labels

Pie Chart Attributes

 

Pie attributes are those that relate specifically to the pie charts:

 

ATTRIBUTE

Description

 

API_AUTOFIT_LBLPIE

Autofit Label Pie

 

API_DEPTH

Depth of Pie chart

 

API_DRAW_CLOCKWISE

Draw Clockwise Pie chart

 

API_FORMAT_DATATEXT

Format Data Text in a Pie Chart

 

API_FORMAT_DATATEXT_ADV

Format Data Text Advanced in a Pie Chart

 

API_FORMAT_RINGTEXT

Format Ring Text in a ring pie chart

 

API_FORMAT_RINGTEXT_ADV

Format Ring Text Advanced in a ring pie chart

 

API_HOLESIZE

Hole size of center ring in a ring pie chart

 

API_INSET_LBLPIE

Inset Label Pie

 

API_INSET_PIE

Inset Pie (margins around a pie)

 

API_PIESPERROW

Pies-Per-Row in a multiple pie chart

 

API_PLACE_DATALABEL

Place Data Label in a Pie Chart

 

API_PLACE_VALUELABEL

Place Value Label in a Pie Chart

 

API_ROTATE

Rotate Pie Chart

 

API_SHOW_AS_COLUMN

Show As Column a series in a pie chart

 

API_SHOW_FEELER

Show/Hide Feelers in a pie chart

 

API_SHOW_LBLFEELER

Show/Hide Label Feeler in a pie chart

 

API_SHOW_LBLPIE

Show/Hide Label Pie in a pie chart

 

API_SHOW_LBLRING

Show/Hide Label Ring in a ring pie chart

 

API_SLICE_DELETE

Slice Delete in a pie chart

 

API_SLICE_MOVE

Slice Move in a pie chart

 

API_SLICE_RESTORE

Slice Restore slices deleted or moved in a pie chart

 

API_TILT

Tilt a pie chart

 

API_TILT_ON

Tilt On/Off

Polar Chart Attributes

 

ATTRIBUTE

Description

 

APL_ANGLE

Angle in Degrees or Radian

 

APL_AXIS

Axis Show/Hide in Polar coordinate chart

 

APL_AXIS_CIRCLES

Axis Circles in a Polar Chart

 

APL_AXIS_THICKS

Axis Thickness in a Polar Chart

 

APL_LINE_FORMAT

Line Format to connect connecting lines

 

APL_LINES

Lines connecting polar lines show/hide

Series/Group Attributes

 

ATTRIBUTE

Description

 

ASG_LGND_ITEMS

Legend Items (#of items per row/column in legend area)

 

ASG_LGND_LAYOUT

Legend Layout (horizontal/vertial)

 

ASG_REVERSE_GROUPS

Reverse order of data for groups

 

ASG_REVERSE_SERIES

Reverse order of data for series

 

ASG_SERIES_COLOR

Series Color

 

ASG_SERIES_DELETE

Series Delete

 

ASG_SWAP

Swap series and groups

Stock Chart Attributes

 

ATTRIBUTE

Description

 

ASM_HLWIDTH

High/Low bar Width of riser in a stock chart

 

ASM_ITEM_DTXT

Item Data Text for data text items in a stock market chart

 

ASM_METRIC1/2/3

Define metric lines in a stock chart

 

ASM_OCHEIGHT

Open/Close Height of ticks in a stock chart

 

ASM_OCWIDTH

Open/Close Width of ticks in a stock chart

 

ASM_SHOW_CLOSE

Show/Hide close ticks in a stock chart

 

ASM_SHOW_OPEN

Show/Hide Open ticks in a stock

 

ASM_SYMBOL_STYLE

Defines the style of Markers on Stock Chart

Table Chart Attributes

 

ATTRIBUTE

Description

 

ATC_ AUTOFIT_CELL

Autofit cell in a table chart

 

ATC_ AUTOFIT_COLHEAD

Autofit Column Header in a table chart

 

ATC_AUTOFIT_ALL

Autofit All (global autofitting) in a table chart

 

ATC_AUTOFIT_ROWHEAD

Autofit Row Header in a table chart

 

ATC_AUTOFIT_SUBJECT

Autofit Subject in a table chart

 

ATC_AUTOFIT_TEXT

Autofit Text in a table chart

 

ATC_DIVISIONS

Divisions in a table chart

 

ATC_LINECONTROL

Line Control in a table chart

 

ATC_UNIFORMCOLS

Uniform Columns in a table chart

 

ATC_UNIFORMROWS

Uniform Rows in a table chart

API Functions

 

Initialization and Termination Functions

 

Graph Structure Management Functions

 

Graph Imaging Functions

 

Draw Environment Functions

 

Graph Modification Functions

 

Selection List Management Functions

 

Detection Node Management Functions

 

Object Alignment Functions

 

Memory Management Functions

 

Annotation Functions

 

Polygon Functions

 

Platform-Independent File I/O

 

RAM File Functions

 

Getting/Setting Data

 

Undo Functions

 

Wireframe Functions

 

Chart Layout Functions

 

Translation Functions

 

Export Functions

 

Load/Save File Functions

 

Advanced Drawing (OpenGL) Functions

 

User Interface Dialog Functions

 

Java Functions

 

Headless-Server Functions for Unix Applications

 

Miscellaneous Functions

 

Data Callback Functions

Initialization and Termination Functions

 

The initialization and termination functions are only executed once in your application.

 

API Function Name

Description

 

InitTDGLIB()

Initialize the PGSDK library

 

FiniTDGLIB()

Finished Using PGSDK library

Graph Structure Management Functions

 

The graph structure management functions are executed once for each graph that your application draws. Memory must be allocated as part of the initialization process for each graph. The memory must be freed when your application is finished with the graph.

 

API Function Name

Description

 

AllocGraphPtr()

Allocate a Graph Pointer

 

FreeGraphPtr()

Free Graph Pointer

Graph Imaging Functions

 

The graph imaging functions are the ones that perform the actual drawing of the chart.

 

API Function Name

Description

 

DrawAnnotationLayer()

Draw annotation layer

 

DrawBackgroundLayer()

Draw background layer

 

DrawGraphLayer()

Draw Graph Layer

 

DrawTheGraph()

Draw the Graph

 

DryRunTheGraph()

Dry Run The Graph

 

IsGraphBackgroundVisible()

Is the graph background visible?

Draw Environment Functions

 

The draw environment functions are used to define the window, device context, destination rectangle, etc. where the graph(s) is(are) drawn.

 

API Function Name

Description

 

AllocDrawEnvPtr()

Allocate a Draw Environment Pointer

 

DEForceDetNodes()

Draw Environment Force Detection Nodes

 

DEGetDestRect ()

Draw Environment Get Destination Rectangle

 

DEGetDrawProcs ()

Draw Environment Get Drawing Procedures

 

DEGetGlobalFontInfo ()

Draw Environment Get Global Font Information

 

DEGetMeasurements()

Draw Environment Get Measurements

 

DEGetPenMode()

Draw Environment Get Pen Mode

 

DEGetPortInfo()

Draw Environment Get Port Information

 

DEGetVirtRect()

Draw Environment Get Virtual Rectangle

 

DERegisterCallbacks()

Draw Environment Register Callback functions

 

DESetActionProcs()

Draw Environment Set Action Procedures

 

DESetDestRect()

Draw Environment Set Destination Rectangle

 

DESetDrawProcs()

Draw Environment Set Drawing Procedures

 

DESetGlobalFontInfo()

Draw Environment Set Global Font Information

 

DESetMeasurements()

Draw Environment Set Measurements

 

DESetPenMode()

Draw Environment Set Pen Mode

 

DESetPortInfo()

Draw Environment Set Port Information

 

DESetVirtRect()

Draw Environment Set Virtual Rectangle

 

DrawBegin()

Draw Begin

 

DrawEnd()

Draw End

 

FreeDrawEnvPtr()

Free Draw Environment Pointer

Graph Modification Functions

 

The graph modification functions are primarily used to modify attributes of the chart. Your application can get information about the current attribute setting and also modify an attribute setting.

 

API Function Name

Description

 

GetGraphAttr()

Get Graph Attribute

 

GetGraphAttrSI()

Get Graph Attribute of an item in a selection list

 

GetGraphAttrSL()

Get Graph Attribute for all items in a selection list

 

GetObjectMobility()

Get Object Mobility

 

SetGraphAttr()

Set Graph Attribute

 

SetGraphAttrSI()

Set Graph Attribute for an item in a Selection List

 

SetGraphAttrSL()

Set Graph Attribute for all items in a Selection List

Selection List Management Functions

 

The selection list management functions provide the API calls necessary to create and edit selection lists. The selection lists contain information about each object the user selects for modification. These functions make it easy for your application to select objects and make modifications to the object attributes.

 

API Function Name

Description

 

CreateSelItemOutline()

Create Selection Item Outline

 

DestroySelItemOutline()

Destroy Selection Item Outline

 

GetFirstDetNodeRef()

Get First Detection Node Reference

 

IsMarkerSelected()

Is marker selected?

 

Item2DetRef()

Selection Item -to- Detection Reference conversion

 

MoveSelectedItem()

Move a selected item to a new virtual location

 

Remove()

Remove item(s) from a selection list

 

RemoveItem()

Remove an item from a selection list

 

Select_AddGroupsRelatedObjects()

Select Add Group-Related Objects to Selection List

 

Select_AddHeightRelatedObjects()

Select Add Height-Related Objects to Selection List

 

Select_AddItem()

Select Add Item to Selection List

 

Select_AddRelatedItems()

Select Add Related Items to Selection List

 

Select_AddSeriesRelatedObjects()

Select Add Series-Related Objects to Selection List

 

Select_AllocList()

Select Allocate Selection List

 

Select_CalcHandlesItem()

Select Calculate Handles Selection Item

 

Select_CalcHandlesList()

Select Calculate Handles Selection List

 

Select_ClearList()

Select Clear Selection List

 

Select_DrawXorItem()

Select Draw Xor Selection Item

 

Select_DrawXorList()

Select Draw Xor Selection List

 

Select_DuplicateList()

Select Duplicate Selection List

 

Select_FreeList()

Select Free Selection List

 

Select_GetFirstItem()

Select Get First Item in Selection List

 

Select_GetListBounds()

Select Get Selection List Bounds

 

Select_GetListInfo()

Select Get Selection List Information

 

Select_GetNextItem()

Select Get Next Item in Selection List

 

Select_GetSelectedSeriesID()

Select Get Selected Series ID

 

Select_Group()

Select Group in Selection List

 

Select_HandleHitTest()

Select Selection List Handle Hit Text

 

Select_IsEqual()

Select are two selection items equal?

 

Select_IsObjectSelected()

Select is object selected in selection list?

 

Select_IsSeriesRelatedObject()

Select is series-related object?

 

Select_RebuildItem()

Select rebuild item in Selection list

 

Select_RebuildList()

Select rebuild Selection list

 

Select_RemoveItem()

Select remove item from Selection list

 

Select_RemoveRelatedItems()

Select remove related items from Selection List

 

Select_SearchList()

Select Search Selection list

 

Select_SelectAllSeriesRelatedObjects()

Select all series-related objects in a chart

 

Select_UnGroup()

Select Ungroup Selection list

 

SelectDetNode()

Select Detection Node

 

SelectDetNodesInRect()

Select Detection Nodes in a Rectangle

Detection Node Management Functions

 

API Function Name

Description

 

FindDetNode()

Find Detection Node

 

FindNextDetNode()

Find Next Detection Node

 

FreeAllDetNodes()

Free All detection Nodes

 

FreeDetNode()

Free Detection Nodes

 

GetDetNode()

Get Detection Node

 

GetDetNodeObjectID()

Get Detection Node Object ID

 

GetNextDetNode()

Get Next Detection Node

 

GetRiserDetNodeLimit()

Get Riser Detection Node Limit

 

LockDetNodeRef()

Lock a Detection Node Reference

 

SetRiserDetNodeLimit()

Set Riser Detection Node Limit

 

UnlockDetNodeRef()

Unlock Detection Node Reference

Object Alignment Functions

 

The alignment functions make it easy to align objects on the screen.

 

API Function Name

Description

 

AlignInsideEdges()

Align Inside Edges of a selection list

 

AlignSelList_Bottom()

Align Selection List Bottom

 

AlignSelList_Center()

Align Selection List Center

 

AlignSelList_Left()

Align Selection List Left

 

AlignSelList_Right()

Align Selection List Right

 

AlignSelList_Top()

Align Selection List Top

 

CenterOnPage()

Center objects in selection list

 

JoinHoriz()

Join movable objects in the selection list horizontally

 

JoinToFirst()

Join movable objects in the selection list to first

 

JoinVert()

Join movable objects in the selection list vertically

 

MakeSameSize()

Make all items in the selection list the same size as the first item

 

SizeToPicture()

Resize and relocate all items in the selection list

Memory Management Functions

 

API Function Name

Description

 

_SDK_AllocHandle()

Allocate relocatable memory in a platform-independent manner

 

_SDK_AllocHandleClear()

Allocate relocatable memory in a platform-independent manner and clear it

 

_SDK_AllocPtr()

Allocate non-relocatable memory

 

_SDK_AllocPtrClear()

Allocate non-relocatable memory and clear it

 

_xFreeHandle()

Free previously allocated relocatable memory

 

_xFreePtr()

Deallocate a block of non-relocatable memory

 

CloneHandle()

Clone a memory handle

 

ClonePtr()

Clone a Pointer

 

env_CompactMem()

Compact Memory

 

LockHandle()

Lock a memory handle

 

Ptr2Handle()

Pointer -to- Handle Conversion

 

Ptr2XHandle()

Pointer -to- XHandle Conversion

 

ReAllocHandle()

Reallocate Handle

 

ReAllocHandleClear()

Reallocate Handle Clear

 

SetvarHdlSize()

Set Variable Handle Size

 

SizeOfHandle()

Get Size of Handle

 

SizeOfPtr()

Get Size of Pointer

 

UnlockHandle()

Unlock memory handle

Annotation Functions

 

The annotation functions provide control for annotation objects:

 

API Function Name

Description

 

AnodeHdl2ID()

Convert Annotation Node Handle to Annotation ID

 

AnodeID2DetRef()

Convert Annotation Node ID to a Detection Reference

 

AnodeID2ZLayer()

Annotation Node ID -to- Z-Layer Conversion

 

Bring2Front()

Bring Selection List to Front

 

BringForward()

Bring Selection List Forward

 

CreateAnode()

Create an Annotation Node

 

CreatePictureAnode()

Create Picture Annotation Node

 

DetRef2AnodeID()

Detection Node Reference-to-Annotation Node ID conversion

 

DrawAllAnodes()

Draw all annotation nodes

 

DrawAnAnode()

Draw an annotation node

 

Duplicate()

Duplicate all annotation nodes

 

FreeAllAnodes()

Free All Annotation Nodes

 

GetAnnotationText()

Get Annotation Text

 

GetAnodeFromTextboxID()

Get Annotation Node from Text Box ID

 

GetRectAnodeInfo()

Get Rectangle Annotation Node Information

 

ID2AnodeHdl()

Annotation Node ID -to- Annotation Node Handle Conversion

 

IsAnode()

Is the object in at detection record an annotation node?

 

SelectAnode_AddItem()

Select Annotation Node Add Item to Selection List

 

SelectAnode_All()

Select All Annotation Nodes in Selection List

 

Send2Back()

Send Selection List to Back

 

SendBackward()

Send Selection List Backward

 

SetAnnotationText()

Set Annotation Text

 

SetRectAnodeInfo()

Set Rectangle Annotation Node Information

 

ZLayer2AnodeID()

Get annotation object ID of a given Z-layer

Polygon Functions

 

API Function Name

Description

 

AddPolyPoint()

Add Polygon Points

 

AllocPolyHandle()

Allocate a Polygon Handle

 

ClonePolyHandle()

Clone a Polygon Handle

 

ClosePolyHandle()

Close a Polygon Handle

 

dump_PolyHandle()

Output information about a polygon

 

FreePolyHandle()

Free Poly Handle

 

GetPolyBounds()

Get Polygon Bounds

 

GetPolyPoint()

Get Polygon Point

 

GetPolyPointCount()

Get Polygon Point Count

 

GetPolyPtrBounds()

Get Polygon Point Bounds

 

GetPolyPtrPointCount()

Get Polygon Point Count

 

LockPolyHandle()

Lock a polygon handle

 

Points2Poly()

Put points into a polygon

 

UnlockPolyHandle()

Unlock polygon handle

Platform-Independent File I/O

 

API Function Name

Description

 

IOclose()

Platform-independent file close

 

IOconnect()

Platform-independent file connect

 

IOgetc()

Platform-independent file get character

 

IOgets()

Platform-independent file string

 

IOopen()

Platform-independent file open

 

IOread()

Platform-independent file read

 

IOseek()

Platform-independent file seek

 

IOwrite()

Platform-independent file write

RAM File Functions

 

The RAM file functions can be used to save a chart to memory instead of a file.

 

API Function Name

Description

 

AllocRamFile()

Allocate a RAM File

 

FreeRamFile()

Free RAM File

 

GetRamFileBuffer()

Get RAM File Buffer

 

GetRamFileName()

Get RAM File Name

 

RFgetc()

Ram File Get Character

 

RFrewind()

Ram File Rewind

 

RFseek()

Ram File Seek

 

RFwrite()

Ram File Write

 

SetRamFileSize()

Set RAM File Size

Getting/Setting Data

 

API Function Name

Description

 

_SetGraphRowColData()

Set data in the spreadsheet cell for the graph

 

_SetGraphRowColPageData()

Set data in the spreadsheet cell for the graph

 

AccGraphDataStatus()

Verify a graph's data set

 

GetDataFormatID()

Get Data Format ID

 

GetDataRange()

Get Data Range

 

GetGraphDataInfo()

Get Graph Data Information

 

GetGraphFootNote()

Get Graph Footnote

 

GetGraphGroupsLabel()

Get Graph Groups Label

 

GetGraphGroupsTitle()

Get Graph Groups Title

 

GetGraphPage()

Get Graph Page

 

GetGraphRowColData()

Get Graph Row/Column Data

 

GetGraphRowColPageData()

Get Graph Row/Column Page Data

 

GetGraphRowColString()

Get Graph Row/Column String

 

GetGraphSeriesLabel()

Get Graph Series Label

 

GetGraphSeriesTitle()

Get Graph Series Title

 

GetGraphSubTitle()

Get Graph Subtitle

 

GetGraphSubType()

Get Graph Sub-Type

 

GetGraphTitle()

Get Graph Title

 

GetGraphY1AxisTitle()

Get Graph Y1-Axis Title

 

GetGraphY2AxisTitle()

Get Graph Y2-Axis Title

 

GetGraphY3AxisTitle()

Get Graph Y3-Axis Title

 

GetGraphY4AxisTitle()

Get Graph Y4-Axis Title

 

GetGroupHeaderString()

Get Group Header String

 

GetRawLimits()

Get Raw Limits

 

GetSeriesHeaderString()

Get Series Header String

 

SetDataRange()

Set Data Range

 

SetGraphData()

Set Graph Data

 

SetGraphDataInfo()

Set Graph Data Information

 

SetGraphFootNote()

Set Graph Footnote

 

SetGraphGroupsLabel()

Set Graph Groups Label

 

SetGraphGroupsTitle()

Set Graph Groups Title

 

SetGraphLabels()

Set Graph Labels

 

SetGraphRowColData()

Set Graph Row/Column Data

 

SetGraphRowColString()

Set Graph Row/Column String

 

SetGraphSeriesLabel()

Set Graph Series Label

 

SetGraphSeriesTitle()

Set Graph Series Title

 

SetGraphSubTitle()

Set Graph Subtitle

 

SetGraphTitle()

Set Graph Title

 

SetGraphY1AxisTitle()

Set Graph Y1-Axis Title

 

SetGraphY2AxisTitle()

Set Graph Y2-Axis Title

 

SetGraphY3AxisTitle()

Set Graph Y3-Axis Title

 

SetGraphY4AxisTitle()

Set Graph Y4-Axis Title

UNDO Functions

 

The UNDO functions provide you with the ability to save user modifications and perform an UNDO on the modifications. Implemented in your application, these functions provide your user with the UNDO features expected in a Windows application.

 

API Function Name

Description

 

ClearUndo()

Clear the Undo List

 

GetUndoStatus()

Get Undo Status

 

IsUndoListEmpty()

Is the Undo List empty?

 

PerformUndo()

Perform Undo

 

SetUndoMode()

Set Undo Mode

 

SetUndoStatus()

Set Undo Status

 

UndoSelListMove()

Undo Selection List Move

3D Wireframe Functions

 

The 3D function draw, clear, and get information about the wire frame outline of the 3D chart to aid in rotating and scaling the chart:

 

API Function Name

Description

 

CheckWireframe()

Check the 3D graph wire frame

 

ClearWireframe()

Clear the 3D graph wire frame

 

DrawWireframe()

Draw 3D wire frame

 

GetWireFrameBounds()

Get Wire Frame Bounds

Chart Layout Functions

 

API Function Name

Description

 

AdjustToKeepChartOnScreen()

Adjust Frame to Keep Chart on Screen

 

AreVisualizeEffectUsed()

Are Visualize Effects Used?

 

CanUseEntireOrdAxis()

Can the chart use the entire ordinal axis to draw?

 

CreateRisers()

Create Risers

 

DetermineScale()

Determine Scale of the graph

 

EnablePlaceDefaultElements()

Routine to Disable/Enable PlaceDefaultElements Logic

 

GetAxisScaleMinMax()

Get the Minimum/Maximum Scaling for an Axis

 

GetGraphDocSize()

Get Graph Document Size

 

GetGraphOrientation()

Get Graph Orientation

 

GetGraphResolutionUnit()

Get Graph Resolution Units

 

GetGraphType()

Get Graph Type

 

GetGraphTypeIndex()

Get Graph Type Index

 

GetLegendLayoutInformation()

Get Legend Layout Information

 

GetSGCount()

Get Series/Group Count

 

GloSetMaxAutofitSize()

Global Set Maximum Autofit Size

 

GloSetMinAutofitSize()

Global Set Minimum Autofit Size

 

IsBipolar()

Is the graph a bi-polar chart?

 

IsDataText()

Is object data text?

 

IsDualYAxes()

Is the graph a Dual-Y axes chart?

 

IsO1AxisUsed()

Is the O1-Axis used in a chart?

 

IsXAxisUsed()

Is the X-Axis used in a chart?

 

IsY1AxisUsed()

Is the Y1-Axis used in a chart?

 

IsY2AxisUsed()

Is the Y2-Axis used in a chart?

 

IsY3AxisUsed()

Is the Y3-Axis used in a chart?

 

IsY4AxisUsed()

Is the Y4-Axis used in a chart?

 

PlaceDefaultElements

Place Default Elements

 

RecalcLegend()

Recalculate Legends

 

SetGraphDocSize()

Set Graph Document Side

 

SetGraphResolutionUnit()

Set Graph Resolution Units

Translation Functions

 

API Function Name

Description

 

AbsPoint()

Absolute Point

 

AddPoints()

Add Points

 

dCheckRect()

Verify the top, bottom, left and right parameters of a rectangle

 

dSetRect()

Define a Rectangle

 

dvCrust()

Device-to-Virtual Coordinates conversion of a CrustInfoRec

 

dvPoint()

Device-to-Virtual Coordinates conversion of a Point

 

dvPoint2D()

Device-to-Virtual Coordinates conversion of a Point2D

 

dvPoly()

Device-to-Virtual Coordinates conversion of a Poly

 

dvRect()

Device-to-Virtual Coordinates conversion of a Rect

 

dvScaleHeight()

Device-to-Virtual Coordinates conversion of Scale Height

 

dvScalePoint()

Device-to-Virtual Coordinates conversion of Scale Point

 

dvScalePoint2D()

Device-to-Virtual Coordinates conversion of Scale Point 2D

 

dvScaleWidth()

Device-to-Virtual Coordinates conversion of Scale Width

 

dvSlice()

Device-to-Virtual Coordinates conversion of a SliceInfoRec

 

dvWedge()

Device-to-Virtual Coordinates conversion of a WedgeInfoRec

 

pvScaleHeight()

Physical -to- Virtual Scale Height Conversion

 

pvScaleWidth()

Physical -to- Virtual Scale Width Conversion

 

ScalePoint()

Scale a Point

 

SubPoints()

Subtract Points

 

vCheckRect()

Verify rectangle definition is consistent with coordinate system

 

vdCrust

Virtual-to-Device Coordinates conversion of a CrustInfoRec

 

vdPoint()

Virtual-to-Device Coordinates conversion of a Point

 

vdPoint2D()

Virtual-to-Device Coordinates conversion of a Point2D

 

vdPoly()

Virtual-to-Device Coordinates conversion of a Poly

 

vdRect()

Virtual-to-Device Coordinates conversion of a Rect

 

vdScaleHeight()

Virtual-to-Device Coordinates conversion of Scale Height

 

vdScalePoint()

Virtual-to-Device Coordinates conversion of Scale Point

 

vdScalePoint2D()

Virtual-to-Device Coordinates conversion of Scale Point2D

 

vdScaleWidth()

Virtual-to-Device Coordinates conversion of Scale Width

 

vdSlice()

Virtual-to-Device Coordinates conversion of a SliceInfoRec

 

vdWedge()

Virtual-to-Device Coordinates conversion of a WedgeInfoRec

 

vSetRect()

Set rectangle definition that is consistent with coordinate system

 

xBoxToRect()

Translate BoxInstRec to Rect

 

xCompareRects()

Translate compare rectangles

 

xDefineRect()

Translate define rectangle

 

xHeightOfRect()

Translate Height of Rectangle

 

xInsetRect()

Translate Inset Rectangle

 

xIntersectRect()

Translate Intersect Rectangle

 

xNormalizeDegrees()

Translate Normalize Degrees

 

xNormalizeRadians()

Translate Normalize Radians

 

xOffsetRect()

Translate Offset Rectangle

 

xPoint2DToPoint()

Translate Point2D -to- Point

 

xPointToPoint2D()

Translate Point -to- Point2D

 

xPt2Degrees()

Translate Point -to- Degrees

 

xPt2Radians()

Translate Point -to- Radians

 

xPtInEllipse()

Translate Point In Ellipse

 

xPtInPoly()

Translate Point In Polygon

 

xPtInRect()

Translate Point in Rectangle

 

xPtInSlice()

Determine if a point is in a slice

 

xPtInWedge()

Determine if a point is in a wedge

 

xRectToBox()

Translate Rectangle -to- BoxInstRec

 

xSumOfRects()

Translate Sum of Rectangles

 

xWidthOfRect()

Translate Width of Rectangle

Export Functions

 

API Function Name

Description

 

ExportBMP()

Export a chart image as a bit-map to a file

 

ExportBMPtoRamFile()

Export a chart image as a bit-map to a RAM file

 

ExportGIF()

Export a chart image as a .GIF file

 

ExportGIFtoMemory()

Export a chart image as a .GIF image to memory

 

ExportPNG()

Export a chart image as a PNG image to a file

 

ExportPNGToMemory()

Export a chart image as a PNG image to memory

 

SaveImageToFile()

Save the image of a graph to a file in any format

 

SaveImageToMemory()

Save the image of a graph to memory in any format

Load/Save File Functions

 

API Function Name

Description

 

Clone_TIFFGraph()

Clone a TIFF Graph

 

F3DF_ReadDescription()

Read description string from TIFF file

 

F3DF_ReadThumbnail()

Read thumbnail from TIFF file

 

Load_TIFFGraph()

Load a TIFF graph

 

Load_TIFFGraphPath()

Load a TIFF graph path

 

Save_TIFFGraph()

Save TIFF Graph

 

Save_TIFFGraphPath()

Save TIFF Graph Path

 

Save_TIFFGraphPathTrim()

Save TIFF Graph Path with trim option

 

ThumbWIN_GetFileDescriptionFromGraph()

Get File Description from Graph

 

ThumbWIN_GetThumbnailFromGraph()

Get Thumbnail from Graph

 

ThumbWIN_LoadDescription()

Load description into graph

 

ThumbWIN_LoadThumbnail()

Load thumbnail into graph

 

ThumbWIN_SetFileDescriptionIntoGraph()

Set File Description into Graph

 

ThumbWIN_UpdateInGraph()

Update Thumbnail in Graph

Advanced Drawing (OpenGL) Functions

 

API Function Name

Description

 

OGL_BeginFirstPass()

Open GL/Begin First Pass

 

OGL_BlitOffscreen()

Open GL/Blit Off-Screen

 

OGL_DrawBegin()

Open GL/Draw Begin

 

OGL_DrawEnd()

Open GL/Draw End

 

OGL_GetChartStatus()

Open GL/Get Chart Status

 

OGL_GetOffscreenDC()

Open GL/Get Off-Screen Device Context

 

OGL_InitOffscreen()

Open GL/Initialize Off-Screen

 

OGL_RegisterOffscreenPort()

Open GL/Register Off-Screen Port

 

OGL_RegisterPort()

Open GL/Register Port

 

OGL_SetTessellationDetail()

Open GL/Set Tessellation Detail

User Interface Dialog Functions

 

API Function Name

Description

 

InitAmigoDialog()

Initialize the Amigo user-interface dialogs

 

Prompt3DViewAnglePresetDialog()

Prompt 3D View Angle Preset Dialog

 

PromptChartOptionsDialog()

Prompt Chart Options Dialog

 

PromptChartTypesDialog()

Prompt Chart Types Dialog

 

PromptDataAnalyzerDialog()

Prompt Data Analyzer Dialog

 

PromptDropShadowDialog()

Prompt Drop Shadow Dialog

 

PromptFillGradientsDialog()

Prompt Fill Gradients Dialog

 

PromptFillPatternDialog()

Prompt Fill Pattern Dialog

 

PromptFillPicturesDialog()

Prompt Fill Pictures Dialog

 

PromptFillTexturesDialog()

Prompt Fill Textures Dialog

 

PromptFormattingDialog()

Prompt Formatting Dialog

 

PromptGridScaleDialog()

Prompt Grids & Scales Dialog

 

PromptLightingPresetDialog()

Prompt Lighting Preset Dialog

 

PromptLineGradientsDialog()

Prompt Line Gradients Dialog

 

PromptLinePatternDialog()

Prompt Line Pattern Dialog

 

PromptLinePicturesDialog()

Prompt Line Pictures Dialog

 

PromptLineTexturesDialog()

Prompt Line Textures Dialog

 

PromptModelPresetDialog()

Prompt Line Model Preset Dialog

 

PromptSeriesOptionsDialog()

Prompt Line Series Options Dialog

 

PromptTextGradientsDialog()

Prompt Text Gradients Dialog

 

PromptTextPatternDialog()

Prompt Text Pattern Dialog

 

PromptTextPicturesDialog()

Prompt Text Pictures Dialog

 

PromptTextTexturesDialog()

Prompt Text Textures Dialog

 

PromptTitleDialog()

Prompt Titles Dialog

 

SetHelpFilePath()

Set Help File Path for User-Interface Dialogs

Java Functions

 

API Function Name

Description

 

ReadJAVAScriptChartFile

Read JAVA Script Chart File

 

WriteJAVAScriptChartFile

Write JAVA Script Chart File

Headless-Server Functions for Unix Applications

 

API Function Name

Description

 

GloGetDefaultFontName()

Get TrueType default font name

 

GloGetDefaultFontPath()

Get TrueType default font path

 

gloSetBackgroundGIF()

Set unpainted background pixels to be a passed-in GIF file.

 

GloSetDefaultFontName()

Set TrueType default font name

 

GloSetDefaultFontPath()

Set TrueType default font path

 

HS_DryRunTheGraph()

Headless-Server version of DryRunTheGraph()

 

HS_PlaceDefaultElements()

Headless-Server version of PlaceDefaultElements()

Miscellaneous Functions

 

API Function Name

Description

 

AllocDetListHandle()

Allocate a Detection List Handle

 

Categorize3DObject()

Is an object part of a graph cube, riser, or neither?

 

ChangeXanTextboxID()

Change Text Box ID

 

CheckDetList()

Check detection list in a draw environment

 

CreateMBCFontHandle()

Creates a font handle based on a existing logical font in the draw environment

 

EncompassLineThickness()

Expands the bounding rectangle of an item to include the thickness of its border or line

 

FindBoxForText()

Find a box for title, subtitle, or footnote text

 

FixupAxisTitleLocation()

Fix the axis title location

 

FreeDetListHandle()

Free Detection Node List Handle

 

GetAdvFormat()

Get an Advanced Format structure

 

GetDLLVersion()

Get DLL Version String

 

GetGroupHeaderPos()

Get Group Header Position

 

GetRiserBounds()

Get Riser Bounds

 

GetRiserSurface()

Get Riser Surface

 

GetScaleBoundaries()

Get Scale Boundaries

 

GetSeriesHeaderPos()

Get Series Header Position

 

GetTableChartCellDimensions()

Get Table Chart Cell Dimensions

 

InitAdvFormat()

Initialize AdvFormat data structure

 

IsObjectATextBox()

Is the object a text box?

 

MBCExists()

Multi-Byte Characters Exist?

 

PackDate()

Pack date in the AdvFormat structure

 

RestoreVisualizeGraph()

Restore Visualize Graph

 

SetErrorCallBack()

Set Error Callback function

 

SetLineItemPoints()

Set Line Item Points

 

SetTableChartCellDimensions()

Set Table Chart Cell Dimensions

 

SetVisibilityMode()

Set Visibility Mode

 

StdFormat()

Format numerical values into a presentable string

 

SwapDetListHandle()

Swap Detection List Handle

 

Update_ClearList()

Update Clear List

 

Update_GetFirstItem()

Update Get First Item

 

Update_GetInvalRect()

Update Get Invalid Rectangle

 

Update_GetNextItem()

Update Get Next Item

 

UnPackDateTime()

Unpack Pack Date and Time in the AdvFormat structure

Data Callback Functions

 

The callback configuration of the DLL requires your application to provide a callback function. The function is called by the DLL with a row and column number to provide the data for charting. This configuration is best when your application is already buffering the data to be graphed. For example, your application collects the data from a database, a mainframe, a network, proprietary file format, etc., and buffers it for other purposes. Each time the graph is drawn the DLL calls your function to provide each data point and string for the chart. The following call-back functions are defined in the header file:

 

CALLBACK *LPFNGetDataCallBack

 

CALLBACK *LPFNGetLabelCallBack

 

CALLBACK *LPFNGetStringCallBack

 

CALLBACK *LPFNSetPageCallBack

 

CALLBACK *LPFNRealToStringCallBack

 

CALLBACK *LPFNGetRawLimits

 

CALLBACK *LPFNPictureCallBack

 

This data interface calls a function in your application. A parameter points to a location for your function to load the requested data. The library does not buffer the data; once the data is charted, the data is overwritten with the next piece of data for charting. This data interface is best when your application already buffers the data. This prevents double buffering of the data by the library. Each time the chart is drawn by DrawTheGraph(), the data is requested from your application.

Compile and Link

 

The library includes a header file, PG32.H, contains all of the function prototypes, data structures, and constants. You must include the PG32.H file in all of your .C files that access a charting engine function:

 

/* Presentation Graphics SDK header file */
#include "pg32.h"

 

The compile command line must define WINDOWS and _WINDOWS. A sample compile command for Microsoft C 6 is shown below.

 

cl -AM -c -d -Gsw -Od -W2 -Zpi -DWINDOWS -D_WINDOWS samp1.c

 

Setup for Compilers other than Visual C++ 6.0:

 

1)

Add the \INCLUDE directory to your MSVC include path.

 

2)

Add the \LIB directory to your MSVC lib path.

 

The Presentation Graphics SDK library must be linked into your application. A sample link command for Microsoft C 6 is shown below:

 

link samp1,/align:16,/map, pg mlibcew libw/NOD/NOE/CO, samp1.def

What else do you need to know?

 

Three |D| Graphics has been licensing its technology to leading software companies such as Corel, Oracle, Cognos, and Symantec. We know that every developer has different needs and we aim to provide the highest quality technology and assistance possible. To learn more about how we can help you, please contact us at:

 

Mailing Address: 11340 West Olympic Blvd., #300, Los Angeles, CA. 90064

 

Telephone: 1.800.913.0008 or 1.310.231.3330

 

FAX: 1.310.231.3303

 

eMail: danw@threedgraphics.com

 

WEB SITE: http://www.threedgraphics.com