diff options
Diffstat (limited to 'tkblt/generic/tkbltGrElem.h')
-rw-r--r-- | tkblt/generic/tkbltGrElem.h | 202 |
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 |