summaryrefslogtreecommitdiffstats
path: root/tksao/frame/framergbtruecolor24.C
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-10-27 18:59:29 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-10-27 18:59:29 (GMT)
commitd4d595fa7fb12903db9227d33d48b2b00120dbd1 (patch)
tree7d18365de0d6d1b29399b6a17c7eb01c2eb3ed49 /tksao/frame/framergbtruecolor24.C
parent949f96e29bfe0bd8710d775ce220e597064e2589 (diff)
downloadblt-d4d595fa7fb12903db9227d33d48b2b00120dbd1.zip
blt-d4d595fa7fb12903db9227d33d48b2b00120dbd1.tar.gz
blt-d4d595fa7fb12903db9227d33d48b2b00120dbd1.tar.bz2
Initial commit
Diffstat (limited to 'tksao/frame/framergbtruecolor24.C')
-rw-r--r--tksao/frame/framergbtruecolor24.C114
1 files changed, 114 insertions, 0 deletions
diff --git a/tksao/frame/framergbtruecolor24.C b/tksao/frame/framergbtruecolor24.C
new file mode 100644
index 0000000..929d3a5
--- /dev/null
+++ b/tksao/frame/framergbtruecolor24.C
@@ -0,0 +1,114 @@
+// Copyright (C) 1999-2016
+// Smithsonian Astrophysical Observatory, Cambridge, MA, USA
+// For conditions of distribution and use, see copyright notice in "copyright"
+
+#include "framergbtruecolor24.h"
+#include "fitsimage.h"
+
+// Tk Canvas Widget Function Declarations
+
+int FrameRGBTrueColor24CreateProc(Tcl_Interp*, Tk_Canvas, Tk_Item*, int,
+ Tcl_Obj *const []);
+
+// FrameRGBTrueColor24 Specs
+
+static Tk_CustomOption tagsOption = {
+ Tk_CanvasTagsParseProc, Tk_CanvasTagsPrintProc, NULL
+};
+
+static Tk_ConfigSpec frameRGBTrueColor24Specs[] = {
+
+ {TK_CONFIG_STRING, (char*)"-command", NULL, NULL, "framergb",
+ Tk_Offset(WidgetOptions, cmdName), TK_CONFIG_OPTION_SPECIFIED, NULL},
+ {TK_CONFIG_INT, (char*)"-x", NULL, NULL, "1",
+ Tk_Offset(WidgetOptions, x), TK_CONFIG_OPTION_SPECIFIED, NULL},
+ {TK_CONFIG_INT, (char*)"-y", NULL, NULL, "1",
+ Tk_Offset(WidgetOptions, y), TK_CONFIG_OPTION_SPECIFIED, NULL},
+ {TK_CONFIG_INT, (char*)"-width", NULL, NULL, "512",
+ Tk_Offset(WidgetOptions, width), TK_CONFIG_OPTION_SPECIFIED, NULL},
+ {TK_CONFIG_INT, (char*)"-height", NULL, NULL, "512",
+ Tk_Offset(WidgetOptions, height), TK_CONFIG_OPTION_SPECIFIED, NULL},
+ {TK_CONFIG_ANCHOR, (char*)"-anchor", NULL, NULL, "nw",
+ Tk_Offset(WidgetOptions, anchor), 0, NULL},
+ {TK_CONFIG_CUSTOM, (char*)"-tags", NULL, NULL, NULL,
+ 0, TK_CONFIG_NULL_OK, &tagsOption},
+
+ {TK_CONFIG_STRING, (char*)"-helvetica", NULL, NULL, "helvetica",
+ Tk_Offset(WidgetOptions, helvetica), 0, NULL},
+ {TK_CONFIG_STRING, (char*)"-courier", NULL, NULL, "courier",
+ Tk_Offset(WidgetOptions, courier), 0, NULL},
+ {TK_CONFIG_STRING, (char*)"-times", NULL, NULL, "times",
+ Tk_Offset(WidgetOptions, times), 0, NULL},
+
+ {TK_CONFIG_END, NULL, NULL, NULL, NULL, 0, 0, NULL},
+};
+
+// Tk Static Structure
+
+static Tk_ItemType frameRGBTrueColor24Type = {
+ (char*)"framergbtruecolor24", // name
+ sizeof(WidgetOptions), // item size
+ FrameRGBTrueColor24CreateProc, // configProc
+ frameRGBTrueColor24Specs, // configSpecs
+ WidgetConfigProc, // configProc
+ WidgetCoordProc, // coordProc
+ WidgetDeleteProc, // deleteProc
+ WidgetDisplayProc, // displayProc
+ 0, // alwaysRedraw
+ WidgetPointProc, // pointProc
+ WidgetAreaProc, // areaProc
+ WidgetPostscriptProc, // postscriptProc
+ WidgetScaleProc, // scaleProc
+ WidgetTranslateProc, // translateProc
+ (Tk_ItemIndexProc*)NULL, // indexProc
+ WidgetICursorProc, // icursorProc
+ (Tk_ItemSelectionProc*)NULL, // selectionProc
+ (Tk_ItemInsertProc*)NULL, // insertProc
+ (Tk_ItemDCharsProc*)NULL, // dCharsProc
+ (Tk_ItemType*)NULL // nextPtr
+};
+
+// Non-Member Functions
+
+int FrameRGBTrueColor24_Init(Tcl_Interp* interp)
+{
+ Tk_CreateItemType(&frameRGBTrueColor24Type);
+ return TCL_OK;
+}
+
+int FrameRGBTrueColor24CreateProc(Tcl_Interp* interp, Tk_Canvas canvas,
+ Tk_Item* item, int argc,
+ Tcl_Obj *const argv[])
+{
+ FrameRGBTrueColor24* frame = new FrameRGBTrueColor24(interp, canvas, item);
+
+ // and set default configuration
+
+ if (frame->configure(argc, (const char**)argv, 0) != TCL_OK) {
+ delete frame;
+ Tcl_AppendResult(interp, " error occured while creating frame.", NULL);
+ return TCL_ERROR;
+ }
+
+ return TCL_OK;
+}
+
+// FrameRGBTrueColor24 Member Functions
+
+FrameRGBTrueColor24::FrameRGBTrueColor24(Tcl_Interp* i, Tk_Canvas c,
+ Tk_Item* item)
+ : FrameRGB(i, c, item), TrueColor24(visual)
+{
+ configSpecs = frameRGBTrueColor24Specs; // frame configure options
+}
+
+FrameRGBTrueColor24::~FrameRGBTrueColor24()
+{
+ // we must do this at this level, because updateColorScale is called
+ unloadAllFits();
+}
+
+
+
+
+