Beispiel #1
0
int
Tk_OldDefineBitmap(
    Tcl_Interp *interp,		/* Interpreter to use for error reporting. */
    const char *name,		/* Name to use for bitmap. Must not already be
				 * defined as a bitmap. */
    const char *source,		/* Address of bits for bitmap. */
    int width,			/* Width of bitmap. */
    int height)			/* Height of bitmap. */
{
    return Tk_DefineBitmap(interp, name, source, width, height);
}
Beispiel #2
0
	/* ARGSUSED */
Pixmap
Tk_GetBitmapFromData(
    Tcl_Interp *interp,		/* Interpreter to use for error reporting. */
    Tk_Window tkwin,		/* Window in which bitmap will be used. */
    const void *source,		/* Bitmap data for bitmap shape. */
    int width, int height)	/* Dimensions of bitmap. */
{
    DataKey nameKey;
    Tcl_HashEntry *dataHashPtr;
    int isNew;
    char string[16 + TCL_INTEGER_SPACE];
    char *name;
    TkDisplay *dispPtr = ((TkWindow *) tkwin)->dispPtr;
    ThreadSpecificData *tsdPtr =
	    Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));

    if (!tsdPtr->initialized) {
	BitmapInit(dispPtr);
    }

    nameKey.source = source;
    nameKey.width = width;
    nameKey.height = height;
    dataHashPtr = Tcl_CreateHashEntry(&dispPtr->bitmapDataTable,
	    (char *) &nameKey, &isNew);
    if (!isNew) {
	name = Tcl_GetHashValue(dataHashPtr);
    } else {
	dispPtr->bitmapAutoNumber++;
	sprintf(string, "_tk%d", dispPtr->bitmapAutoNumber);
	name = string;
	Tcl_SetHashValue(dataHashPtr, name);
	if (Tk_DefineBitmap(interp, name, source, width, height) != TCL_OK) {
	    Tcl_DeleteHashEntry(dataHashPtr);
	    return TCL_ERROR;
	}
    }
    return Tk_GetBitmap(interp, tkwin, name);
}
Beispiel #3
0
void defineTclutilBitmaps(Tcl_Interp *interp) {
#include "ar6_6_4.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("ar6_6_4"), (char*)ar6_6_4_bits, ar6_6_4_width, ar6_6_4_height);

#include "arrowboth.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("arrowboth"), (char*)arrowboth_bits, arrowboth_width, arrowboth_height);

#include "files.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("files"), (char*)files_bits, files_width, files_height);

#include "width1.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("width1"), (char*)width1_bits, width1_width, width1_height);

#include "width2.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("width2"), (char*)width2_bits, width2_width, width2_height);

#include "width3.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("width3"), (char*)width3_bits, width3_width, width3_height);

#include "width4.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("width4"), (char*)width4_bits, width4_width, width4_height);

#include "arrownone.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("arrownone"), (char*)arrownone_bits, arrownone_width, arrownone_height);

#include "circle.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("circle"), (char*)circle_bits, circle_width, circle_height);

#include "dir.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("dir"), (char*)dir_bits, dir_width, dir_height);

#include "shiftb1.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("shiftb1"), (char*)shiftb1_bits, shiftb1_width, shiftb1_height);

#include "down.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("down"), (char*)down_bits, down_width, down_height);

#include "label.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("label"), (char*)label_bits, label_width, label_height);

#include "polygon.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("polygon"), (char*)polygon_bits, polygon_width, polygon_height);

#include "ar10_13_3.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("ar10_13_3"), (char*)ar10_13_3_bits, ar10_13_3_width, ar10_13_3_height);

#include "right.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("right"), (char*)right_bits, right_width, right_height);

#include "ar8_10_3.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("ar8_10_3"), (char*)ar8_10_3_bits, ar8_10_3_width, ar8_10_3_height);

#include "left.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("left"), (char*)left_bits, left_width, left_height);

#include "pat0.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat0"), (char*)pat0_bits, pat0_width, pat0_height);

#include "pat1.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat1"), (char*)pat1_bits, pat1_width, pat1_height);

#include "pat2.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat2"), (char*)pat2_bits, pat2_width, pat2_height);

#include "pat3.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat3"), (char*)pat3_bits, pat3_width, pat3_height);

#include "pat4.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat4"), (char*)pat4_bits, pat4_width, pat4_height);

#include "pat5.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat5"), (char*)pat5_bits, pat5_width, pat5_height);

#include "pat6.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat6"), (char*)pat6_bits, pat6_width, pat6_height);

#include "pat7.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat7"), (char*)pat7_bits, pat7_width, pat7_height);

#include "pat8.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat8"), (char*)pat8_bits, pat8_width, pat8_height);

#include "pat9.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat9"), (char*)pat9_bits, pat9_width, pat9_height);

#include "rotate.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("rotate"), (char*)rotate_bits, rotate_width, rotate_height);

#include "anyselect.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("anyselect"), (char*)anyselect_bits, anyselect_width, anyselect_height);

#include "freehand.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("freehand"), (char*)freehand_bits, freehand_width, freehand_height);

#include "magnify.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("magnify"), (char*)magnify_bits, magnify_width, magnify_height);

#include "file.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("file"), (char*)file_bits, file_width, file_height);

#include "b1.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("b1"), (char*)b1_bits, b1_width, b1_height);

#include "b2.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("b2"), (char*)b2_bits, b2_width, b2_height);

#include "b3.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("b3"), (char*)b3_bits, b3_width, b3_height);

#include "square.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("square"), (char*)square_bits, square_width, square_height);

#include "smooth.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("smooth"), (char*)smooth_bits, smooth_width, smooth_height);

#include "text.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("text"), (char*)text_bits, text_width, text_height);

#include "ar8_8_6.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("ar8_8_6"), (char*)ar8_8_6_bits, ar8_8_6_width, ar8_8_6_height);

#include "pat10.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat10"), (char*)pat10_bits, pat10_width, pat10_height);

#include "pat11.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat11"), (char*)pat11_bits, pat11_width, pat11_height);

#include "pat12.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat12"), (char*)pat12_bits, pat12_width, pat12_height);

#include "pat13.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat13"), (char*)pat13_bits, pat13_width, pat13_height);

#include "pat14.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat14"), (char*)pat14_bits, pat14_width, pat14_height);

#include "pat15.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pat15"), (char*)pat15_bits, pat15_width, pat15_height);

#include "abc.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("abc"), (char*)abc_bits, abc_width, abc_height);

#include "decr.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("decr"), (char*)decr_bits, decr_width, decr_height);

#include "ar12_11_3.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("ar12_11_3"), (char*)ar12_11_3_bits, ar12_11_3_width, ar12_11_3_height);

#include "shrink.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("shrink"), (char*)shrink_bits, shrink_width, shrink_height);

#include "oval.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("oval"), (char*)oval_bits, oval_width, oval_height);

#include "objselect.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("objselect"), (char*)objselect_bits, objselect_width, objselect_height);

#include "flipx.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("flipx"), (char*)flipx_bits, flipx_width, flipx_height);

#include "flipy.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("flipy"), (char*)flipy_bits, flipy_width, flipy_height);

#include "ar8_12_9.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("ar8_12_9"), (char*)ar8_12_9_bits, ar8_12_9_width, ar8_12_9_height);

#include "polyline.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("polyline"), (char*)polyline_bits, polyline_width, polyline_height);

#include "ar12_12_3.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("ar12_12_3"), (char*)ar12_12_3_bits, ar12_12_3_width, ar12_12_3_height);

#include "down_arrow.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("down_arrow"), (char*)down_arrow_bits, down_arrow_width, down_arrow_height);

#include "shiftdragb1.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("shiftdragb1"), (char*)shiftdragb1_bits, shiftdragb1_width, shiftdragb1_height);

#include "up.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("up"), (char*)up_bits, up_width, up_height);

#include "dragb1.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("dragb1"), (char*)dragb1_bits, dragb1_width, dragb1_height);

#include "dragb2.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("dragb2"), (char*)dragb2_bits, dragb2_width, dragb2_height);

#include "dragb3.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("dragb3"), (char*)dragb3_bits, dragb3_width, dragb3_height);

#include "arrowfirst.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("arrowfirst"), (char*)arrowfirst_bits, arrowfirst_width, arrowfirst_height);

#include "up_arrow.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("up_arrow"), (char*)up_arrow_bits, up_arrow_width, up_arrow_height);

#include "arc.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("arc"), (char*)arc_bits, arc_width, arc_height);

#include "incr.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("incr"), (char*)incr_bits, incr_width, incr_height);

#include "region.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("region"), (char*)region_bits, region_width, region_height);

#include "rectangle.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("rectangle"), (char*)rectangle_bits, rectangle_width, rectangle_height);

#include "arrowlast.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("arrowlast"), (char*)arrowlast_bits, arrowlast_width, arrowlast_height);

#include "left_arrow.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("left_arrow"), (char*)left_arrow_bits, left_arrow_width, left_arrow_height);

#include "line.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("line"), (char*)line_bits, line_width, line_height);

#include "right_arrow.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("right_arrow"), (char*)right_arrow_bits, right_arrow_width, right_arrow_height);

#include "link.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("link"), (char*)link_bits, link_width, link_height);

#include "information.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("information"), (char*)information_bits, information_width, information_height);

}
Beispiel #4
0
void defineGaiaBitmaps(Tcl_Interp *interp) {
    #include "cross.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("cross"), (char*)cross_bits, cross_width, cross_height);

    #include "diamond.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("diamond"), (char*)diamond_bits, diamond_width, diamond_height);

    #include "rectangle.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("rectangle"), (char*)rectangle_bits, rectangle_width, rectangle_height);

    #include "gaiaplus.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("gaiaplus"), (char*)gaiaplus_bits, gaiaplus_width, gaiaplus_height);

    #include "row.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("row"), (char*)row_bits, row_width, row_height);

    #include "finger.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("finger"), (char*)finger_bits, finger_width, finger_height);

    #include "symb_rotbox.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("symb_rotbox"), (char*)symb_rotbox_bits, symb_rotbox_width, symb_rotbox_height);

    #include "style0.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("style0"), (char*)style0_bits, style0_width, style0_height);

    #include "pointpoly.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pointpoly"), (char*)pointpoly_bits, pointpoly_width, pointpoly_height);

    #include "yrange.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("yrange"), (char*)yrange_bits, yrange_width, yrange_height);

    #include "column.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("column"), (char*)column_bits, column_width, column_height);

    #include "annular_circle.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("annular_circle"), (char*)annular_circle_bits, annular_circle_width, annular_circle_height);

    #include "stcshape.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("stcshape"), (char*)stcshape_bits, stcshape_width, stcshape_height);

    #include "line.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("line"), (char*)line_bits, line_width, line_height);

    #include "pixel.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("pixel"), (char*)pixel_bits, pixel_width, pixel_height);

    #include "annular_ellipse.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("annular_ellipse"), (char*)annular_ellipse_bits, annular_ellipse_width, annular_ellipse_height);

    #include "ellipse.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("ellipse"), (char*)ellipse_bits, ellipse_width, ellipse_height);

    #include "triangle.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("triangle"), (char*)triangle_bits, triangle_width, triangle_height);

    #include "rotbox.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("rotbox"), (char*)rotbox_bits, rotbox_width, rotbox_height);

    #include "poly.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("poly"), (char*)poly_bits, poly_width, poly_height);

    #include "dot.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("dot"), (char*)dot_bits, dot_width, dot_height);

    #include "xrange.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("xrange"), (char*)xrange_bits, xrange_width, xrange_height);

    #include "style2.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("style2"), (char*)style2_bits, style2_width, style2_height);

    #include "style3.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("style3"), (char*)style3_bits, style3_width, style3_height);

    #include "style1.xbm"
    Tk_DefineBitmap(interp, Tk_GetUid("style1"), (char*)style1_bits, style1_width, style1_height);

}
Beispiel #5
0
static void
BitmapInit(
    TkDisplay *dispPtr)		/* TkDisplay structure encapsulating
				 * thread-specific data used by this module,
				 * or NULL if unavailable. */
{
    Tcl_Interp *dummy;
    ThreadSpecificData *tsdPtr =
	    Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));

    /*
     * First initialize the data in the ThreadSpecificData strucuture, if
     * needed.
     */

    if (!tsdPtr->initialized) {
	tsdPtr->initialized = 1;
	dummy = Tcl_CreateInterp();
	Tcl_InitHashTable(&tsdPtr->predefBitmapTable, TCL_STRING_KEYS);

	Tk_DefineBitmap(dummy, "error", error_bits,
		error_width, error_height);
	Tk_DefineBitmap(dummy, "gray75", gray75_bits,
		gray75_width, gray75_height);
	Tk_DefineBitmap(dummy, "gray50", gray50_bits,
		gray50_width, gray50_height);
	Tk_DefineBitmap(dummy, "gray25", gray25_bits,
		gray25_width, gray25_height);
	Tk_DefineBitmap(dummy, "gray12", gray12_bits,
		gray12_width, gray12_height);
	Tk_DefineBitmap(dummy, "hourglass", hourglass_bits,
		hourglass_width, hourglass_height);
	Tk_DefineBitmap(dummy, "info", info_bits,
		info_width, info_height);
	Tk_DefineBitmap(dummy, "questhead", questhead_bits,
		questhead_width, questhead_height);
	Tk_DefineBitmap(dummy, "question", question_bits,
		question_width, question_height);
	Tk_DefineBitmap(dummy, "warning", warning_bits,
		warning_width, warning_height);

	TkpDefineNativeBitmaps();
	Tcl_DeleteInterp(dummy);
    }

    /*
     * Was a valid TkDisplay pointer passed? If so, initialize the Bitmap
     * module tables in that structure.
     */

    if (dispPtr != NULL) {
	dispPtr->bitmapInit = 1;
	Tcl_InitHashTable(&dispPtr->bitmapNameTable, TCL_STRING_KEYS);
	Tcl_InitHashTable(&dispPtr->bitmapDataTable,
		sizeof(DataKey) / sizeof(int));

	/*
	 * The call below is tricky: can't use sizeof(IdKey) because it gets
	 * padded with extra unpredictable bytes on some 64-bit machines.
	 */

	/*
	 * The comment above doesn't make sense...
	 */

	Tcl_InitHashTable(&dispPtr->bitmapIdTable, TCL_ONE_WORD_KEYS);
    }
}
Beispiel #6
0
void
plD_esc_ntk(PLStream *pls, PLINT op, void *ptr)
{
  PLINT i,j;
  short *xa, *ya;
  Pixmap bitmap;
  static unsigned char bit_pat[] = {
    0x24, 0x01, 0x92, 0x00, 0x49, 0x00, 0x24, 0x00, 0x12, 0x00, 0x09, 0x00,
    0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff};

  switch (op) {

  case PLESC_DASH:
    xa = (short *) malloc(sizeof(short) * pls->dev_npts);
    ya = (short *) malloc(sizeof(short) * pls->dev_npts);
    for (i = 0; i < pls->dev_npts; i++) {
      xa[i] = pls->dev_x[i];
      ya[i] = pls->dev_y[i];
    }

    j = sprintf(dash, "-dash {");
    for (i = 0; i < pls->nms; i++)
      j += sprintf(&dash[j]," %d %d",
		   (int) ceil(pls->mark[i]/1e3 * ppm),
		   (int) ceil(pls->space[i]/1e3 * ppm));
    sprintf(&dash[j], "}");
    plD_polyline_ntk(pls, xa, ya, pls->dev_npts);
    free(xa); free(ya);
    dash[0] = 0;
    break;

  case PLESC_FLUSH:
    tk_cmd("update");
    break;

  case PLESC_GETC:
    getcursor(pls, (PLGraphicsIn *) ptr);
    break;

  case PLESC_FILL:
    if (pls->patt != 0) {
      /* this is a hack! The real solution is in the if(0) bellow */
      pls->xpmm *= scale;
      pls->ypmm *= scale;
      plfill_soft( pls->dev_x, pls->dev_y, pls->dev_npts);
      pls->xpmm /= scale;
      pls->ypmm /= scale;
    } else {
      j = sprintf(cmd, "$plf.f2.c%d create polygon ", ccanv);
      for (i = 0; i < pls->dev_npts; i++)
	j += sprintf(&cmd[j], "%.1f %.1f ", pls->dev_x[i]/scale,
		     ymax-pls->dev_y[i]/scale);
      j += sprintf(&cmd[j]," -fill %s", curcolor);
      tk_cmd(cmd);
    }

    if (0) {
      if (pls->patt != 0) {
	Tk_DefineBitmap(interp, Tk_GetUid("foo"), bit_pat, 16, 16);
	bitmap = Tk_GetBitmap(interp, mainw, Tk_GetUid("patt"));
      }
      j = sprintf(cmd, "$plf.f2.c%d create polygon ", ccanv);
      for (i = 0; i < pls->dev_npts; i++)
	j += sprintf(&cmd[j], "%.1f %.1f ", pls->dev_x[i]/scale,
		     ymax-pls->dev_y[i]/scale);
      j += sprintf(&cmd[j]," -fill %s", curcolor);
      if (pls->patt != 0)
	sprintf(&cmd[j], " -stipple patt -outline black");

      tk_cmd(cmd);
  /*Tk_FreeBitmap(display, bitmap)*/
    }
    break;
  }
}