summaryrefslogtreecommitdiffstats
path: root/tkblt/generic/tkbltGrElem.h
diff options
context:
space:
mode:
Diffstat (limited to 'tkblt/generic/tkbltGrElem.h')
-rw-r--r--tkblt/generic/tkbltGrElem.h202
1 files changed, 0 insertions, 202 deletions
diff --git a/tkblt/generic/tkbltGrElem.h b/tkblt/generic/tkbltGrElem.h
deleted file mode 100644
index 8904df0..0000000
--- a/tkblt/generic/tkbltGrElem.h
+++ /dev/null
@@ -1,202 +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 __BltGrElem_h__
-#define __BltGrElem_h__
-
-#include <tk.h>
-
-#include "tkbltVector.h"
-#include "tkbltChain.h"
-
-#include "tkbltGrMisc.h"
-#include "tkbltGrPen.h"
-#include "tkbltGrPSOutput.h"
-
-#define SHOW_NONE 0
-#define SHOW_X 1
-#define SHOW_Y 2
-#define SHOW_BOTH 3
-
-#define NUMBEROFPOINTS(e) MIN( (e)->coords.x ? (e)->coords.x->nValues() : 0, \
- (e)->coords.y ? (e)->coords.y->nValues() : 0 )
-#define NORMALPEN(e) ((((e)->normalPenPtr == NULL) ? \
- (e)->builtinPenPtr : (e)->normalPenPtr))
-
-namespace Blt {
- class Axis;
- class Element;
- class Pen;
- class Postscript;
-
- class ElemValues {
- protected:
- double min_;
- double max_;
- int nValues_;
-
- public:
- double* values_;
-
- public:
- ElemValues();
- virtual ~ElemValues();
-
- void reset();
- int nValues() {return nValues_;}
- double min() {return min_;}
- double max() {return max_;}
- };
-
- class ElemValuesSource : public ElemValues
- {
- public:
- ElemValuesSource(int);
- ElemValuesSource(int, double*);
- ~ElemValuesSource();
-
- void findRange();
- };
-
- class ElemValuesVector : public ElemValues
- {
- public:
- Element* elemPtr_;
- Blt_VectorId source_;
-
- public:
- ElemValuesVector(Element*, const char*);
- ~ElemValuesVector();
-
- int getVector();
- int fetchValues(Blt_Vector*);
- void freeSource();
- };
-
- typedef struct {
- Segment2d *segments;
- int *map;
- int length;
- } GraphSegments;
-
- typedef struct {
- ElemValuesSource* x;
- ElemValuesSource* y;
- } ElemCoords;
-
- typedef struct {
- double min;
- double max;
- double range;
- } Weight;
-
- typedef struct {
- Weight weight;
- Pen* penPtr;
- } PenStyle;
-
- typedef struct {
- Element* elemPtr;
- const char* label;
- const char** tags;
- Axis* xAxis;
- Axis* yAxis;
- ElemCoords coords;
- ElemValues* w;
- ElemValues* xError;
- ElemValues* yError;
- ElemValues* xHigh;
- ElemValues* xLow;
- ElemValues* yHigh;
- ElemValues* yLow;
- int hide;
- int legendRelief;
- Chain* stylePalette;
- Pen* builtinPenPtr;
- Pen* activePenPtr;
- Pen* normalPenPtr;
- PenOptions builtinPen;
- } ElementOptions;
-
- class Element {
- protected:
- Tk_OptionTable optionTable_;
- void* ops_;
-
- double xRange_;
- double yRange_;
-
- public:
- Graph* graphPtr_;
- const char* name_;
- Tcl_HashEntry* hashPtr_;
- unsigned row_;
- unsigned col_;
- int nActiveIndices_;
- int* activeIndices_;
- int active_;
- int labelActive_;
-
- ChainLink* link;
-
- protected:
- double FindElemValuesMinimum(ElemValues*, double);
- PenStyle** StyleMap();
-
- public:
- Element(Graph*, const char*, Tcl_HashEntry*);
- virtual ~Element();
-
- virtual int configure() =0;
- virtual void map() =0;
- virtual void extents(Region2d*) =0;
- virtual void draw(Drawable) =0;
- virtual void drawActive(Drawable) =0;
- virtual void drawSymbol(Drawable, int, int, int) =0;
- virtual void closest() =0;
- virtual void print(PSOutput*) =0;
- virtual void printActive(PSOutput*) =0;
- virtual void printSymbol(PSOutput*, double, double, int) =0;
-
- virtual ClassId classId() =0;
- virtual const char* className() =0;
- virtual const char* typeName() =0;
-
- void freeStylePalette (Chain*);
-
- Tk_OptionTable optionTable() {return optionTable_;}
- void* ops() {return ops_;}
- };
-};
-
-extern void VectorChangedProc(Tcl_Interp* interp, ClientData clientData,
- Blt_VectorNotify notify);
-
-
-#endif