summaryrefslogtreecommitdiffstats
path: root/tkblt/generic/tkbltGraph.h
diff options
context:
space:
mode:
Diffstat (limited to 'tkblt/generic/tkbltGraph.h')
-rw-r--r--tkblt/generic/tkbltGraph.h256
1 files changed, 0 insertions, 256 deletions
diff --git a/tkblt/generic/tkbltGraph.h b/tkblt/generic/tkbltGraph.h
deleted file mode 100644
index 6f8df01..0000000
--- a/tkblt/generic/tkbltGraph.h
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Smithsonian Astrophysical Observatory, Cambridge, MA, USA
- * This code has been modified under the terms listed below and is made
- * available under the same terms.
- */
-
-/*
- * Copyright 1993-2004 George A Howlett.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef __BltGraph_h__
-#define __BltGraph_h__
-
-#include <tk.h>
-
-#include "tkbltChain.h"
-#include "tkbltGrMisc.h"
-#include "tkbltGrText.h"
-
-typedef struct Ensemble {
- const char *name;
- Tcl_ObjCmdProc *proc;
- const struct Ensemble *subensemble;
-} Ensemble;
-
-namespace Blt {
- class Axis;
- class BindTable;
- class Crosshairs;
- class Element;
- class Marker;
- class Legend;
- class Pen;
- class Postscript;
- class PSOutput;
-
- class Pick {
- public:
- virtual ClientData pickEntry(int, int, ClassId*) =0;
- };
-
- typedef struct {
- int halo;
- int mode;
- int x;
- int y;
- int along;
-
- Element* elemPtr;
- Point2d point;
- int index;
- double dist;
- } ClosestSearch;
-
- typedef struct {
- int width;
- int height;
- int axesOffset;
- int axesTitleLength;
- int maxTickWidth;
- int maxTickHeight;
- unsigned int nAxes;
- Chain* axes;
- int reqSize;
- int site;
- } Margin;
-
- typedef struct {
- Tcl_HashTable table;
- Chain* displayList;
- Tcl_HashTable tagTable;
- } Component;
-
-#define rightMargin margins[MARGIN_RIGHT]
-#define leftMargin margins[MARGIN_LEFT]
-#define topMargin margins[MARGIN_TOP]
-#define bottomMargin margins[MARGIN_BOTTOM]
-
- typedef struct {
- double aspect;
- Tk_3DBorder normalBg;
- int borderWidth;
- Margin margins[4];
- Tk_Cursor cursor;
- TextStyleOptions titleTextStyle;
- int reqHeight;
- XColor* highlightBgColor;
- XColor* highlightColor;
- int highlightWidth;
- int inverted;
- Tk_3DBorder plotBg;
- int plotBW;
- int xPad;
- int yPad;
- int plotRelief;
- int relief;
- ClosestSearch search;
- int stackAxes;
- const char *takeFocus; // nor used in C code
- const char *title;
- int reqWidth;
- int reqPlotWidth;
- int reqPlotHeight;
- } GraphOptions;
-
- class Graph : public Pick {
- public:
- Tcl_Interp* interp_;
- Tk_Window tkwin_;
- Display *display_;
- Tcl_Command cmdToken_;
- Tk_OptionTable optionTable_;
- void* ops_;
- int valid_;
-
- unsigned int flags;
- int nextMarkerId_;
-
- Component axes_;
- Component elements_;
- Component markers_;
- Tcl_HashTable penTable_;
- BindTable* bindTable_;
- Chain* axisChain_[4];
-
- Legend* legend_;
- Crosshairs* crosshairs_;
- Postscript* postscript_;
-
- int inset_;
- int titleX_;
- int titleY_;
- int titleWidth_;
- int titleHeight_;
- int width_;
- int height_;
- int left_;
- int right_;
- int top_;
- int bottom_;
- Axis* focusPtr_;
- int halo_;
- GC drawGC_;
- int vRange_;
- int hRange_;
- int vOffset_;
- int hOffset_;
- double vScale_;
- double hScale_;
- Pixmap cache_;
- int cacheWidth_;
- int cacheHeight_;
-
- protected:
- void layoutGraph();
-
- void drawMargins(Drawable);
- void printMargins(PSOutput*);
- int getMarginGeometry(Margin*);
-
- void destroyPens();
-
- void destroyElements();
- void configureElements();
- virtual void mapElements();
- void drawElements(Drawable);
- void drawActiveElements(Drawable);
- void printElements(PSOutput*);
- void printActiveElements(PSOutput*);
-
- void destroyMarkers();
- void configureMarkers();
- void mapMarkers();
- void drawMarkers(Drawable, int);
- void printMarkers(PSOutput*, int);
-
- int createAxes();
- void destroyAxes();
- void configureAxes();
- void mapAxes();
- void drawAxes(Drawable);
- void drawAxesLimits(Drawable);
- void drawAxesGrids(Drawable);
- void adjustAxes();
-
- public:
- Graph(ClientData, Tcl_Interp*, int, Tcl_Obj* const []);
- virtual ~Graph();
-
- virtual int configure();
- void map();
- void draw();
- void eventuallyRedraw();
- int print(const char*, PSOutput*);
- void extents(Region2d*);
- int invoke(const Ensemble*, int, int, Tcl_Obj* const []);
- void reconfigure();
-
- int createAxis(int, Tcl_Obj* const []);
- void printAxes(PSOutput*);
- void printAxesGrids(PSOutput*);
- void printAxesLimits(PSOutput*);
- int getAxis(Tcl_Obj*, Axis**);
- ClientData axisTag(const char*);
- Point2d map2D(double, double, Axis*, Axis*);
- Point2d invMap2D(double, double, Axis*, Axis*);
- virtual void resetAxes();
- Axis* nearestAxis(int, int);
-
- ClientData markerTag(const char*);
- Marker* nearestMarker(int, int, int);
- int isElementHidden(Marker*);
-
- virtual int createElement(int, Tcl_Obj* const []) =0;
- int getElement(Tcl_Obj*, Element**);
- ClientData elementTag(const char*);
-
- virtual int createPen(const char*, int, Tcl_Obj* const []) =0;
- int getPen(Tcl_Obj*, Pen**);
-
- int getXY(const char*, int*, int*);
- void getTextExtents(Tk_Font, const char*, int, int*, int*);
- void getBoundingBox(int, int, double, double*, double*, Point2d*);
- Point2d anchorPoint(double, double, double, double, Tk_Anchor);
-
- const char** getTags(ClientData, ClassId, int*);
- ClientData pickEntry(int, int, ClassId*);
-
- void drawSegments(Drawable, GC, Segment2d*, int);
- void setDashes(GC, Dashes*);
-
- GC getPrivateGC(unsigned long, XGCValues*);
- void freePrivateGC(GC);
- };
-};
-
-#endif