diff options
Diffstat (limited to 'tksao/frame/contour.C')
-rw-r--r-- | tksao/frame/contour.C | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/tksao/frame/contour.C b/tksao/frame/contour.C index 0c76d4a..1233b91 100644 --- a/tksao/frame/contour.C +++ b/tksao/frame/contour.C @@ -7,14 +7,15 @@ #include "context.h" // ContourLevel -ContourLevel::ContourLevel(Base* pp, double lev, const char* cc, int ww, - int dd, int* dl) +ContourLevel::ContourLevel(Base* pp, double lev, + const char* cn, + int ww, int dd, int* dl) { parent_ = pp; gc_ = parent_->contourGC_; level_ = lev; - colorName_ = dupstr(cc); + colorName_ = dupstr(cn); color_ = parent_->getColor(colorName_); lineWidth_ = ww; dash_ = dd; @@ -25,6 +26,27 @@ ContourLevel::ContourLevel(Base* pp, double lev, const char* cc, int ww, next_ = NULL; } +// used in threads, so need to resolve color/colorName before +ContourLevel::ContourLevel(Base* pp, double lev, + const char* cn, unsigned long cc, + int ww, int dd, int* dl) +{ + parent_ = pp; + gc_ = parent_->contourGC_; + + level_ = lev; + colorName_ = dupstr(cn); + // color_ = parent_->getColor(colorName_); + color_ = cc; + lineWidth_ = ww; + dash_ = dd; + dlist_[0] = dl[0]; + dlist_[1] = dl[1]; + + previous_ = NULL; + next_ = NULL; +} + ContourLevel::~ContourLevel() { if (colorName_) |