diff options
Diffstat (limited to 'src/bltGrMarker.h')
-rw-r--r-- | src/bltGrMarker.h | 65 |
1 files changed, 17 insertions, 48 deletions
diff --git a/src/bltGrMarker.h b/src/bltGrMarker.h index 97e0b4e..50f0660 100644 --- a/src/bltGrMarker.h +++ b/src/bltGrMarker.h @@ -27,57 +27,30 @@ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#ifndef _BLT_GR_MARKER_H -#define _BLT_GR_MARKER_H +#ifndef __bltgrmarker_h__ +#define __bltgrmarker_h__ -#define MAX_OUTLINE_POINTS 12 +#include "bltGrMarkerOp.h" -namespace Blt { - class Marker; - -typedef Marker* (MarkerCreateProc)(Graph*); -typedef void (MarkerDrawProc)(Marker* markerPtr, Drawable drawable); -typedef int (MarkerConfigProc)(Marker* markerPtr); -typedef void (MarkerMapProc)(Marker* markerPtr); -typedef void (MarkerPostscriptProc)(Marker* markerPtr, Blt_Ps ps); -typedef int (MarkerPointProc)(Marker* markerPtr, Point2d *samplePtr); -typedef int (MarkerRegionProc)(Marker* markerPtr, Region2d *extsPtr, int enclosed); - -typedef struct { - Tk_OptionSpec *optionSpecs; -} MarkerClass; +#include <iostream> +#include <sstream> +#include <iomanip> +using namespace std; -typedef struct { - Point2d* points; - int num; -} Coords; - -typedef struct { - const char** tags; - Coords* worldPts; - const char* elemName; - Axis2d axes; - int hide; - int state; - int drawUnder; - int xOffset; - int yOffset; -} MarkerOptions; +namespace Blt { class Marker { protected: + int clipped_; + Tk_OptionTable optionTable_; + Tcl_HashEntry* hashPtr_; + void* ops_; public: GraphObj obj; - MarkerClass *classPtr; - Tk_OptionTable optionTable; - Tcl_HashEntry* hashPtr; Blt_ChainLink link; - int clipped; unsigned int flags; - void* ops; - private: double HMap(Axis*, double); double VMap(Axis*, double); @@ -87,7 +60,7 @@ typedef struct { int boxesDontOverlap(Graph*, Region2d*); public: - Marker(Graph*, const char*); + Marker(Graph*, const char*, Tcl_HashEntry*); virtual ~Marker(); virtual int configure() =0; @@ -96,16 +69,12 @@ typedef struct { virtual int pointIn(Point2d*) =0; virtual int regionIn(Region2d*, int) =0; virtual void postscript(Blt_Ps) =0; + + int clipped() {return clipped_;} + Tk_OptionTable optionTable() {return optionTable_;} + MarkerOptions* ops() {return (MarkerOptions*)ops_;} }; }; -void Blt_FreeMarker(char*); - -extern Tk_ObjCustomOption coordsObjOption; -extern Tk_ObjCustomOption capStyleObjOption; -extern Tk_ObjCustomOption joinStyleObjOption; -extern Tk_ObjCustomOption xAxisObjOption; -extern Tk_ObjCustomOption yAxisObjOption; - #endif |