summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorjoye <joye>2014-04-16 19:33:46 (GMT)
committerjoye <joye>2014-04-16 19:33:46 (GMT)
commit67f584c7ce5046ef221344903ce32bca5dec2bf4 (patch)
tree61dac6d9e0e823200271e8af60163fea1ca420d1 /src
parent8de9835650ca47d192f7976c4d02105fe15aeff7 (diff)
downloadblt-67f584c7ce5046ef221344903ce32bca5dec2bf4.zip
blt-67f584c7ce5046ef221344903ce32bca5dec2bf4.tar.gz
blt-67f584c7ce5046ef221344903ce32bca5dec2bf4.tar.bz2
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/bltGrElemOp.C149
-rw-r--r--src/bltGrElemOp.h3
-rw-r--r--src/bltGraph.C43
-rw-r--r--src/bltGraph.h7
4 files changed, 101 insertions, 101 deletions
diff --git a/src/bltGrElemOp.C b/src/bltGrElemOp.C
index bf58437..865b8af 100644
--- a/src/bltGrElemOp.C
+++ b/src/bltGrElemOp.C
@@ -596,113 +596,56 @@ int Blt_ElementOp(Graph* graphPtr, Tcl_Interp* interp,
}
}
-// Support
-
-static Tcl_Obj *DisplayListObj(Graph* graphPtr)
-{
- Tcl_Obj *listObjPtr = Tcl_NewListObj(0, (Tcl_Obj **)NULL);
-
- for (Blt_ChainLink link = Blt_Chain_FirstLink(graphPtr->elements_.displayList); link != NULL; link = Blt_Chain_NextLink(link)) {
- Element* elemPtr = (Element*)Blt_Chain_GetValue(link);
- Tcl_Obj *objPtr = Tcl_NewStringObj(elemPtr->name(), -1);
- Tcl_ListObjAppendElement(graphPtr->interp_, listObjPtr, objPtr);
- }
-
- return listObjPtr;
-}
-
-static void FreeElement(char* data)
-{
- Element* elemPtr = (Element *)data;
- DestroyElement(elemPtr);
-}
-
-static int GetIndex(Tcl_Interp* interp, Element* elemPtr,
- Tcl_Obj *objPtr, int *indexPtr)
-{
- ElementOptions* ops = (ElementOptions*)elemPtr->ops();
-
- char *string = Tcl_GetString(objPtr);
- if ((*string == 'e') && (strcmp("end", string) == 0))
- *indexPtr = NUMBEROFPOINTS(ops);
- else if (Blt_ExprIntFromObj(interp, objPtr, indexPtr) != TCL_OK)
- return TCL_ERROR;
-
- return TCL_OK;
-}
-
-int Blt_GetElement(Tcl_Interp* interp, Graph* graphPtr, Tcl_Obj *objPtr,
- Element **elemPtrPtr)
-{
- Tcl_HashEntry *hPtr;
- char *name;
-
- name = Tcl_GetString(objPtr);
- if (!name || !name[0])
- return TCL_ERROR;
- hPtr = Tcl_FindHashEntry(&graphPtr->elements_.table, name);
- if (!hPtr) {
- if (interp)
- Tcl_AppendResult(interp, "can't find element \"", name,
- "\" in \"", Tk_PathName(graphPtr->tkwin_), "\"",
- NULL);
- return TCL_ERROR;
- }
- *elemPtrPtr = (Element*)Tcl_GetHashValue(hPtr);
- return TCL_OK;
-}
+// Graph
-void Blt_DestroyElements(Graph* graphPtr)
+void Graph::destroyElements()
{
Tcl_HashEntry *hPtr;
Tcl_HashSearch iter;
-
- for (hPtr = Tcl_FirstHashEntry(&graphPtr->elements_.table, &iter);
+ for (hPtr = Tcl_FirstHashEntry(&elements_.table, &iter);
hPtr != NULL; hPtr = Tcl_NextHashEntry(&iter)) {
Element* elemPtr = (Element*)Tcl_GetHashValue(hPtr);
if (elemPtr)
DestroyElement(elemPtr);
}
- Tcl_DeleteHashTable(&graphPtr->elements_.table);
- Tcl_DeleteHashTable(&graphPtr->elements_.tagTable);
- Blt_Chain_Destroy(graphPtr->elements_.displayList);
+ Tcl_DeleteHashTable(&elements_.table);
+ Tcl_DeleteHashTable(&elements_.tagTable);
+ Blt_Chain_Destroy(elements_.displayList);
}
-void Blt_ConfigureElements(Graph* graphPtr)
+void Graph::configureElements()
{
- for (Blt_ChainLink link =Blt_Chain_FirstLink(graphPtr->elements_.displayList);
- link != NULL; link = Blt_Chain_NextLink(link)) {
+ for (Blt_ChainLink link=Blt_Chain_FirstLink(elements_.displayList);
+ link; link = Blt_Chain_NextLink(link)) {
Element* elemPtr = (Element*)Blt_Chain_GetValue(link);
elemPtr->configure();
}
}
-void Blt_MapElements(Graph* graphPtr)
+void Graph::mapElements()
{
- GraphOptions* gops = (GraphOptions*)graphPtr->ops_;
+ GraphOptions* gops = (GraphOptions*)ops_;
if (gops->barMode != BARS_INFRONT)
- Blt_ResetBarGroups(graphPtr);
+ Blt_ResetBarGroups(this);
- for (Blt_ChainLink link =Blt_Chain_FirstLink(graphPtr->elements_.displayList);
+ for (Blt_ChainLink link =Blt_Chain_FirstLink(elements_.displayList);
link != NULL; link = Blt_Chain_NextLink(link)) {
Element* elemPtr = (Element*)Blt_Chain_GetValue(link);
if (!elemPtr->link || (elemPtr->flags & DELETE_PENDING))
continue;
- if ((graphPtr->flags & MAP_ALL) || (elemPtr->flags & MAP_ITEM)) {
+ if ((flags & MAP_ALL) || (elemPtr->flags & MAP_ITEM)) {
elemPtr->map();
elemPtr->flags &= ~MAP_ITEM;
}
}
}
-void Blt_DrawElements(Graph* graphPtr, Drawable drawable)
+void Graph::drawElements(Drawable drawable)
{
- Blt_ChainLink link;
-
- /* Draw with respect to the stacking order. */
- for (link = Blt_Chain_LastLink(graphPtr->elements_.displayList);
- link != NULL; link = Blt_Chain_PrevLink(link)) {
+ // Draw with respect to the stacking order
+ for (Blt_ChainLink link=Blt_Chain_LastLink(elements_.displayList);
+ link; link = Blt_Chain_PrevLink(link)) {
Element* elemPtr = (Element*)Blt_Chain_GetValue(link);
if (!(elemPtr->flags & DELETE_PENDING) && !elemPtr->hide())
elemPtr->drawNormal(drawable);
@@ -754,6 +697,62 @@ void Blt_ActiveElementsToPostScript(Graph* graphPtr, Blt_Ps ps)
}
}
+// Support
+
+static Tcl_Obj *DisplayListObj(Graph* graphPtr)
+{
+ Tcl_Obj *listObjPtr = Tcl_NewListObj(0, (Tcl_Obj **)NULL);
+
+ for (Blt_ChainLink link = Blt_Chain_FirstLink(graphPtr->elements_.displayList); link != NULL; link = Blt_Chain_NextLink(link)) {
+ Element* elemPtr = (Element*)Blt_Chain_GetValue(link);
+ Tcl_Obj *objPtr = Tcl_NewStringObj(elemPtr->name(), -1);
+ Tcl_ListObjAppendElement(graphPtr->interp_, listObjPtr, objPtr);
+ }
+
+ return listObjPtr;
+}
+
+static void FreeElement(char* data)
+{
+ Element* elemPtr = (Element *)data;
+ DestroyElement(elemPtr);
+}
+
+static int GetIndex(Tcl_Interp* interp, Element* elemPtr,
+ Tcl_Obj *objPtr, int *indexPtr)
+{
+ ElementOptions* ops = (ElementOptions*)elemPtr->ops();
+
+ char *string = Tcl_GetString(objPtr);
+ if ((*string == 'e') && (strcmp("end", string) == 0))
+ *indexPtr = NUMBEROFPOINTS(ops);
+ else if (Blt_ExprIntFromObj(interp, objPtr, indexPtr) != TCL_OK)
+ return TCL_ERROR;
+
+ return TCL_OK;
+}
+
+int Blt_GetElement(Tcl_Interp* interp, Graph* graphPtr, Tcl_Obj *objPtr,
+ Element **elemPtrPtr)
+{
+ Tcl_HashEntry *hPtr;
+ char *name;
+
+ name = Tcl_GetString(objPtr);
+ if (!name || !name[0])
+ return TCL_ERROR;
+ hPtr = Tcl_FindHashEntry(&graphPtr->elements_.table, name);
+ if (!hPtr) {
+ if (interp)
+ Tcl_AppendResult(interp, "can't find element \"", name,
+ "\" in \"", Tk_PathName(graphPtr->tkwin_), "\"",
+ NULL);
+ return TCL_ERROR;
+ }
+ *elemPtrPtr = (Element*)Tcl_GetHashValue(hPtr);
+ return TCL_OK;
+}
+
ClientData Blt_MakeElementTag(Graph* graphPtr, const char *tagName)
{
Tcl_HashEntry *hPtr;
diff --git a/src/bltGrElemOp.h b/src/bltGrElemOp.h
index f83e61c..1e9f54c 100644
--- a/src/bltGrElemOp.h
+++ b/src/bltGrElemOp.h
@@ -34,10 +34,7 @@ extern int Blt_ElementOp(Graph* graphPtr, Tcl_Interp* interp, int objc,
Tcl_Obj* const objv[], ClassId classId);
extern int Blt_GetElement(Tcl_Interp* interp, Graph *graphPtr,
Tcl_Obj *objPtr, Element **elemPtrPtr);
-extern void Blt_DestroyElements(Graph* graphPtr);
-extern void Blt_DrawElements(Graph* graphPtr, Drawable drawable);
extern void Blt_DrawActiveElements(Graph* graphPtr, Drawable drawable);
-extern void Blt_MapElements(Graph* graphPtr);
extern void Blt_ElementsToPostScript(Graph* graphPtr, Blt_Ps ps);
extern void Blt_ActiveElementsToPostScript(Graph* graphPtr, Blt_Ps ps);
diff --git a/src/bltGraph.C b/src/bltGraph.C
index db16f6b..67ebac6 100644
--- a/src/bltGraph.C
+++ b/src/bltGraph.C
@@ -61,7 +61,6 @@ extern void Blt_LayoutGraph(Graph* graphPtr);
static Blt_BindPickProc PickEntry;
static void AdjustAxisPointers(Graph* graphPtr);
-static void UpdateMarginTraces(Graph* graphPtr);
// OptionSpecs
@@ -328,7 +327,7 @@ Graph::~Graph()
GraphOptions* ops = (GraphOptions*)ops_;
Blt::DestroyMarkers(this);
- Blt_DestroyElements(this); // must come before legend and others
+ destroyElements(); // must come before legend and others
if (crosshairs_)
delete crosshairs_;
@@ -507,7 +506,7 @@ void Graph::display()
flags &= ~MAP_WORLD;
flags &= ~REDRAW_WORLD;
- UpdateMarginTraces(this);
+ updateMarginTraces();
}
void Graph::map()
@@ -524,7 +523,7 @@ void Graph::map()
if (flags & MAP_WORLD)
Blt_MapAxes(this);
- Blt_MapElements(this);
+ mapElements();
Blt::MapMarkers(this);
flags &= ~(MAP_ALL);
}
@@ -560,7 +559,7 @@ void Graph::drawPlot(Drawable drawable)
}
Blt_DrawAxisLimits(this, drawable);
- Blt_DrawElements(this, drawable);
+ drawElements(drawable);
}
/*
@@ -711,40 +710,38 @@ void Graph::extents(Region2d* regionPtr)
regionPtr->bottom = (double)(vOffset_ + vRange_ + ops->yPad);
}
-// Support
-
-static void UpdateMarginTraces(Graph* graphPtr)
+void Graph::updateMarginTraces()
{
- GraphOptions* ops = (GraphOptions*)graphPtr->ops_;
+ GraphOptions* ops = (GraphOptions*)ops_;
+
Margin* marginPtr;
Margin* endPtr;
-
for (marginPtr = ops->margins, endPtr = marginPtr + 4;
marginPtr < endPtr; marginPtr++) {
- if (marginPtr->varName != NULL) { /* Trigger variable traces */
+ if (marginPtr->varName) {
int size;
-
- if ((marginPtr->site == MARGIN_LEFT) ||
- (marginPtr->site == MARGIN_RIGHT)) {
+ if ((marginPtr->site == MARGIN_LEFT) || (marginPtr->site == MARGIN_RIGHT))
size = marginPtr->width;
- } else {
+ else
size = marginPtr->height;
- }
- Tcl_SetVar(graphPtr->interp_, marginPtr->varName, Blt_Itoa(size),
+
+ Tcl_SetVar(interp_, marginPtr->varName, Blt_Itoa(size),
TCL_GLOBAL_ONLY);
}
}
}
-void Blt_ReconfigureGraph(Graph* graphPtr)
+void Graph::reconfigure()
{
- graphPtr->configure();
- graphPtr->legend_->configure();
- // Blt_ConfigureElements(graphPtr);
- Blt_ConfigureAxes(graphPtr);
- Blt::ConfigureMarkers(graphPtr);
+ configure();
+ legend_->configure();
+ configureElements();
+ Blt_ConfigureAxes(this);
+ Blt::ConfigureMarkers(this);
}
+// Support
+
void Blt_GraphTags(Blt_BindTable table, ClientData object, ClientData context,
Blt_List list)
{
diff --git a/src/bltGraph.h b/src/bltGraph.h
index 865032f..5533ace 100644
--- a/src/bltGraph.h
+++ b/src/bltGraph.h
@@ -196,6 +196,12 @@ class Graph {
protected:
void drawPlot(Drawable);
void drawMargins(Drawable);
+ void updateMarginTraces();
+
+ void destroyElements();
+ void drawElements(Drawable);
+ void mapElements();
+ void configureElements();
public:
Graph(ClientData clientData, Tcl_Interp*interp,
@@ -207,6 +213,7 @@ class Graph {
void map();
void eventuallyRedraw();
void extents(Region2d*);
+ void reconfigure();
};
extern void Blt_ReconfigureGraph(Graph* graphPtr);