*** align.c.orig Thu Jan 21 23:21:55 1999 --- align.c Thu Jan 21 23:21:55 1999 *************** *** 35,38 **** --- 35,39 ---- #include "tgifdefs.h" + #include "cmdids.h" #include "align.e" *************** *** 58,61 **** --- 59,63 ---- #include "select.e" #include "setup.e" + #include "util.e" typedef struct DistrVRec { *************** *** 69,72 **** --- 71,76 ---- int vertAlign=ALIGN_T; + int alignDirectType=INVALID; + void DistrSelObjs() { *************** *** 661,665 **** --- 665,809 ---- } + void DistributeDirect(alignment) + int alignment; + { + int saved_h_align=horiAlign, saved_v_align=vertAlign; + int v_mode=(alignment%MAXALIGNS); + int h_mode=((alignment-v_mode)/MAXALIGNS); + + horiAlign = h_mode; + vertAlign = v_mode; + DistrSelObjs(); + horiAlign = saved_h_align; + vertAlign = saved_v_align; + } + + static char *distrDirectMenuStr[] = { + "(none)", + "%s their top edges are %e", + "%s their vertical centers are %e", + "%s their bottom edges are %e", + "%s they are %e %v", + "%s their left edges are %e", + "%s their left and top edges are %e", + "%s their left and vertical centers are %e", + "%s their left and bottom edges are %e", + "%s they are %e %v and their left edges are spaced equally", + "%s their horizontal centers are %e", + "%s their horizontal centers and top edges are %e", + "%s their horizontal and vertical centers are %e", + "%s their horizontal centers and bottom edges are %e", + "%s they are %e %v and their horizontal centers are spaced equally", + "%s their right edges are %e", + "%s their right and top edges are %e", + "%s their right and vertical centers are %e", + "%s their right and bottom edges are %e", + "%s they are %e %v and their right edges are spaced equally", + "%s they are %e %h", + "%s they are %e %h and their top edges are spaced equally", + "%s they are %e %h and their vertical centers are spaced equally", + "%s they are %e %h and their bottom edges are spaced equally", + "%s they are %e %h and %v", + NULL + }; + static + char *GetDistrDirectMenuStr(i) + int i; + { + char buf[2048], *psz=NULL; + + if (curChoice == VERTEXMODE) { + int v_mode=(i%MAXALIGNS); + int h_mode=((i-v_mode)/MAXALIGNS); + + if (v_mode == ALIGN_N) { + if (h_mode == ALIGN_N) { + strcpy(gszMsgBox, "(none)"); + } else { + sprintf(gszMsgBox, "%s %s", + "Distribute selected vertices so that", + "they are spaced equally horizontally"); + } + } else { + if (h_mode == ALIGN_N) { + sprintf(gszMsgBox, "%s %s", + "Distribute selected vertices so that", + "they are spaced equally vertically"); + } else { + sprintf(gszMsgBox, "%s %s", + "Distribute selected vertices so that", + "they are spaced equally horizontally and vertically"); + } + } + } else { + if (strncmp(distrDirectMenuStr[i], "%s ", 3) == 0) { + sprintf(gszMsgBox, "%s %s", + "Distribute selected objects so that", + &(distrDirectMenuStr[i])[3]); + } else { + strcpy(gszMsgBox, distrDirectMenuStr[i]); + } + if ((psz=strstr(gszMsgBox, "%v")) != NULL) { + psz[1] = 's'; + sprintf(buf, gszMsgBox, "vertically"); + strcpy(gszMsgBox, buf); + } + if ((psz=strstr(gszMsgBox, "%h")) != NULL) { + psz[1] = 's'; + sprintf(buf, gszMsgBox, "horizontally"); + strcpy(gszMsgBox, buf); + } + if ((psz=strstr(gszMsgBox, "%e")) != NULL) { + psz[1] = 's'; + sprintf(buf, gszMsgBox, "equally spaced"); + strcpy(gszMsgBox, buf); + } + } + psz = UtilStrDup(gszMsgBox); + if (psz == NULL) FailAllocMessage(); + return psz; + } + + TgMenu *CreateDistributeDirectMenu(parent_menu, x, y, menu_info) + TgMenu *parent_menu; + int x, y; + TgMenuInfo *menu_info; + { + int i=0, num_entries=(MAXALIGNS*MAXALIGNS); + TgMenu *menu=NULL; + TgMenuInfo stMenuInfo; + TgMenuItemInfo *item_info=NULL; + + memcpy(&stMenuInfo, menu_info, sizeof(TgMenuInfo)); + stMenuInfo.items = (TgMenuItemInfo*)malloc( + (num_entries+1)*sizeof(TgMenuItemInfo)); + if (stMenuInfo.items == NULL) FailAllocMessage(); + memset(stMenuInfo.items, 0, + (num_entries+1)*sizeof(TgMenuItemInfo)); + for (item_info=stMenuInfo.items, i=0; i < num_entries; item_info++, i++) { + item_info->menu_str = (char*)(Pixmap*)(&distrDirectPixmap[i]); + item_info->shortcut_str = NULL; + item_info->status_str = GetDistrDirectMenuStr(i); + item_info->submenu_info = NULL; + item_info->cmdid = CMDID_DISTRIBUTEDIRECT; + } + stMenuInfo.items[num_entries].cmdid = INVALID; + + menu = TgCreateMenuFromMenuInfo(parent_menu, x, y, &stMenuInfo); + for (item_info=stMenuInfo.items, i=0; i < num_entries; item_info++, i++) { + UtilFree(item_info->status_str); + } + memset(stMenuInfo.items, 0, (num_entries+1)*sizeof(TgMenuItemInfo)); + free(stMenuInfo.items); + stMenuInfo.items = NULL; + if (menu != NULL) { + menu->track_menubar = TRUE; + TgAdjustMenuGeometry(menu, choiceImageW, choiceImageH, MAXALIGNS); + } + return menu; + } + + static int AutoJustifiable(obj_ptr) struct ObjRec *obj_ptr; *************** *** 1411,1414 **** --- 1555,1761 ---- } + void AlignDirect(alignment) + int alignment; + { + int saved_h_align=horiAlign, saved_v_align=vertAlign; + int v_align=(alignment%(MAXALIGNS-1)); + int h_align=((alignment-v_align)/(MAXALIGNS-1)); + + horiAlign = h_align; + vertAlign = v_align; + switch (alignDirectType) { + case ALIGN_OBJS_DIRECT: AlignSelObjs(); break; + case ALIGN_TO_GRID_DIRECT: AlignSelToGrid(); break; + case ALIGN_TO_PAGE_DIRECT: AlignSelToPage(); break; + } + horiAlign = saved_h_align; + vertAlign = saved_v_align; + } + + static char *alignDirectMenuStr[] = { + "(none)", + "Align top edges of selected objects", + "Align vertical centers of selected objects", + "Align bottom edges of selected objects", + "Align left edges of selected objects", + "Align left and top edges of selected objects", + "Align left edges and vertical centers of selected objects", + "Align left and bottom edges of selected objects", + "Align horizontal centers of selected objects", + "Align horizontal centers and top edges of selected objects", + "Align horizontal and vertical centers of selected objects", + "Align horizontal centers and bottom edges of selected objects", + "Align right edges of selected objects", + "Align right and top edges of selected objects", + "Align right edges and vertical centers of selected objects", + "Align right and bottom edges of selected objects", + NULL + }; + + static char *alignDirectToPageMenuStr[] = { + "(none)", + "%s to the top of the page", + "%s to the vertical center of the page", + "%s to the bottom of the page", + "%s to the left side of the page", + "%s to the left top corner of the page", + "%s to the left vertical center of the page", + "%s to the left bottom of the page", + "%s to the horizontal center of the page", + "%s to the top horizontal center of the page", + "%s to the center of the page", + "%s to the bottom horizontal center of the page", + "%s to the right side of the page", + "%s to the right top corner of the page", + "%s to the right vertical center of the page", + "%s to the right bottom corner of the page", + NULL + }; + + static char *alignVerticesDirectToPageMenuStr[] = { + "(none)", + "Align selected vertices to the top of the page", + "Align selected vertices to the vertical center of the page", + "Align selected vertices to the bottom of the page", + "Align selected vertices to the left side of the page", + "Align selected vertices to the left top corner of the page", + "Align selected vertices to the left vertical center of the page", + "Align selected vertices to the left bottom corner of the page", + "Align selected vertices to the horizontal center of the page", + "Align selected vertices to the top horizontal center of the page", + "Align selected vertices to the center of the page", + "Align selected vertices to the bottom horizontal center of the page", + "Align selected vertices to the right side of the page", + "Align selected vertices to the right top corner of the page", + "Align selected vertices to the right vertical center of the page", + "Align selected vertices to the right bottom corner of the page", + NULL + }; + + static + char *GetAlignDirectMenuStr(i) + int i; + { + char *psz=NULL; + + if (curChoice == VERTEXMODE) { + if (alignDirectType == ALIGN_TO_PAGE_DIRECT) { + strcpy(gszMsgBox, alignVerticesDirectToPageMenuStr[i]); + } else { + int v_align=(i%(MAXALIGNS-1)); + int h_align=((i-v_align)/(MAXALIGNS-1)); + + if (v_align == ALIGN_N) { + if (h_align == ALIGN_N) { + strcpy(gszMsgBox, "(none)"); + } else { + sprintf(gszMsgBox, "Align selected vertices %s", + (alignDirectType==ALIGN_TO_GRID_DIRECT ? + "horizontally to the grid" : "vertically")); + } + } else { + if (h_align == ALIGN_N) { + sprintf(gszMsgBox, "Align selected vertices %s", + (alignDirectType==ALIGN_TO_GRID_DIRECT ? + "vertically to the grid" : "horizontally")); + } else { + sprintf(gszMsgBox, "Align selected vertices%s", + (alignDirectType==ALIGN_TO_GRID_DIRECT ? + " to the grid" : "")); + } + } + } + } else { + if (alignDirectType == ALIGN_TO_PAGE_DIRECT) { + if (strstr(alignDirectToPageMenuStr[i], "%s") == NULL) { + strcpy(gszMsgBox, alignDirectToPageMenuStr[i]); + } else { + sprintf(gszMsgBox, alignDirectToPageMenuStr[i], + "Align selected objects (as a group)"); + } + } else { + if (strcmp(alignDirectMenuStr[i], "(none)") == 0) { + strcpy(gszMsgBox, alignDirectMenuStr[i]); + } else { + if (alignDirectType == ALIGN_TO_GRID_DIRECT) { + sprintf(gszMsgBox, "%s %s", alignDirectMenuStr[i], + " to the grid"); + } else { + strcpy(gszMsgBox, alignDirectMenuStr[i]); + } + } + } + } + psz = UtilStrDup(gszMsgBox); + if (psz == NULL) FailAllocMessage(); + return psz; + } + + static + TgMenu *CreateAlignDirectMenu(parent_menu, x, y, menu_info) + TgMenu *parent_menu; + int x, y; + TgMenuInfo *menu_info; + { + int i=0, num_entries=((MAXALIGNS-1)*(MAXALIGNS-1)); + TgMenu *menu=NULL; + TgMenuInfo stMenuInfo; + TgMenuItemInfo *item_info=NULL; + + memcpy(&stMenuInfo, menu_info, sizeof(TgMenuInfo)); + stMenuInfo.items = (TgMenuItemInfo*)malloc( + (num_entries+1)*sizeof(TgMenuItemInfo)); + if (stMenuInfo.items == NULL) FailAllocMessage(); + memset(stMenuInfo.items, 0, (num_entries+1)*sizeof(TgMenuItemInfo)); + for (item_info=stMenuInfo.items, i=0; i < num_entries; item_info++, i++) { + item_info->menu_str = (char*)(Pixmap*)(&alignDirectPixmap[i]); + item_info->shortcut_str = NULL; + item_info->status_str = GetAlignDirectMenuStr(i); + item_info->submenu_info = NULL; + item_info->cmdid = CMDID_ALIGNDIRECT; + } + stMenuInfo.items[num_entries].cmdid = INVALID; + + menu = TgCreateMenuFromMenuInfo(parent_menu, x, y, &stMenuInfo); + for (item_info=stMenuInfo.items, i=0; i < num_entries; item_info++, i++) { + UtilFree(item_info->status_str); + } + memset(stMenuInfo.items, 0, (num_entries+1)*sizeof(TgMenuItemInfo)); + free(stMenuInfo.items); + stMenuInfo.items = NULL; + if (menu != NULL) { + menu->track_menubar = TRUE; + TgAdjustMenuGeometry(menu, choiceImageW, choiceImageH, (MAXALIGNS-1)); + } + return menu; + } + + TgMenu *CreateAlignObjsDirectMenu(parent_menu, x, y, menu_info) + TgMenu *parent_menu; + int x, y; + TgMenuInfo *menu_info; + { + alignDirectType = ALIGN_OBJS_DIRECT; + return CreateAlignDirectMenu(parent_menu, x, y, menu_info); + } + + TgMenu *CreateAlignToGridDirectMenu(parent_menu, x, y, menu_info) + TgMenu *parent_menu; + int x, y; + TgMenuInfo *menu_info; + { + alignDirectType = ALIGN_TO_GRID_DIRECT; + return CreateAlignDirectMenu(parent_menu, x, y, menu_info); + } + + TgMenu *CreateAlignToPageDirectMenu(parent_menu, x, y, menu_info) + TgMenu *parent_menu; + int x, y; + TgMenuInfo *menu_info; + { + alignDirectType = ALIGN_TO_PAGE_DIRECT; + return CreateAlignDirectMenu(parent_menu, x, y, menu_info); + } + void CenterAnEndPoint() { *** arc.c.orig Thu Jan 21 23:21:56 1999 --- arc.c Thu Jan 21 23:21:57 1999 *************** *** 1324,1334 **** } static XComposeStatus c_stat; static void ContinueArc(OrigX, OrigY) int OrigX, OrigY; { ! int grid_x, grid_y, first_x=0, first_y=0; int end_x, end_y, saved_x, saved_y, dx, dy, radius; int done=FALSE, drawing_arc=FALSE; --- 1324,1579 ---- } + static + int Colinear(Ax, Ay, Dx, Dy, Cx, Cy) + double Ax, Ay, Dx, Dy, Cx, Cy; + /* returns TRUE if point D is between A and C and A, D, C are colinear */ + { + double len_ad=(double)0, len_dc=(double)0, len_ac=(double)0; + double dx=(double)0, dy=(double)0; + + dx = Ax-Cx; + dy = Ay-Cy; + len_ac = (double)sqrt(dx*dx+dy*dy); + + dx = Ax-Dx; + dy = Ay-Dy; + len_ad = (double)sqrt(dx*dx+dy*dy); + + dx = Cx-Dx; + dy = Cy-Dy; + len_dc = (double)sqrt(dx*dx+dy*dy); + + return (fabs(len_ad+len_dc-len_ac) < INT_TOL); + } + + static + int SegmentIntersects(Ax, Ay, Bx, By, Cx, Cy, Dx, Dy) + int Ax, Ay, Bx, By; + double Cx, Cy, Dx, Dy; + /* returns TRUE if line segments AB and CD intersects */ + { + int AB_horizontal=(Ay==By), CD_horizontal=(fabs(Cy-Dy)>1)); + sprintf(buf, "r=%s\ndegree=%1d", r_buf, abs(angle2>>6)); + } else { + char *cl_or_r=(curChoice==DRAWEDGEARC ? "cl" : "r"); + + if (!show_measure_cursor) { + XDrawLine(mainDisplay, drawWindow, drawGC, OrigX, OrigY, + saved_x, saved_y); + } + *pdx = saved_x - OrigX; + *pdy = saved_y - OrigY; + *pradius = (int)(sqrt((double)(((double)(*pdx))*((double)(*pdx)) + + ((double)(*pdy))*((double)(*pdy))))); + *pw = *ph = ((*pradius)<<1); + PixelToMeasurementUnit(r_buf, ABS_SIZE(*pradius)); + PixelToMeasurementUnit(x_buf, ABS_X(saved_x)); + PixelToMeasurementUnit(y_buf, ABS_Y(saved_y)); + sprintf(buf, "%s=%s\nx=%s\ny=%s", cl_or_r, r_buf, x_buf, y_buf); + } + if (show_measure_cursor) { + ShowMeasureCursor(saved_x, saved_y, buf, TRUE); + } + if (end_show_measure_cursor) { + EndShowMeasureCursor(saved_x, saved_y, buf, TRUE); + } + } + + static void ContinueArc(OrigX, OrigY) int OrigX, OrigY; { ! int grid_x, grid_y, first_x=0, first_y=0, cx=0, cy=0; int end_x, end_y, saved_x, saved_y, dx, dy, radius; int done=FALSE, drawing_arc=FALSE; *************** *** 1335,1338 **** --- 1580,1584 ---- int dir=INVALID, ltx, lty, w, h, angle1, angle2=0; char buf[80], r_buf[80], x_buf[80], y_buf[80]; + char *cl_or_r=(curChoice==DRAWEDGEARC ? "cl" : "r"); struct ObjRec *obj_ptr; XGCValues values; *************** *** 1359,1363 **** PixelToMeasurementUnit(x_buf, ABS_X(grid_x)); PixelToMeasurementUnit(y_buf, ABS_Y(grid_y)); ! sprintf(buf, "r=%s\nx=%s\ny=%s", r_buf, x_buf, y_buf); StartShowMeasureCursor(grid_x, grid_y, buf, TRUE); if (!debugNoPointerGrab) { --- 1605,1609 ---- PixelToMeasurementUnit(x_buf, ABS_X(grid_x)); PixelToMeasurementUnit(y_buf, ABS_Y(grid_y)); ! sprintf(buf, "%s=%s\nx=%s\ny=%s", cl_or_r, r_buf, x_buf, y_buf); StartShowMeasureCursor(grid_x, grid_y, buf, TRUE); if (!debugNoPointerGrab) { *************** *** 1366,1371 **** GrabModeAsync, GrabModeAsync, None, handCursor, CurrentTime); } ! Msg("Please specify the start of an arc."); ! SetMouseStatus("Set start of arc", "Cancel", "Cancel"); while (!done) { XNextEvent(mainDisplay, &input); --- 1612,1622 ---- GrabModeAsync, GrabModeAsync, None, handCursor, CurrentTime); } ! if (curChoice == DRAWEDGEARC) { ! Msg("Please specify the end of an arc."); ! SetMouseStatus("Set end of arc", "Cancel", "Cancel"); ! } else { ! Msg("Please specify the start of an arc."); ! SetMouseStatus("Set start of arc", "Cancel", "Cancel"); ! } while (!done) { XNextEvent(mainDisplay, &input); *************** *** 1374,1446 **** ExposeEventHandler(&input, TRUE); } else if (input.type == ButtonPress) { ! if (input.xbutton.button != Button1) { XUngrabPointer(mainDisplay, CurrentTime); ! if (drawing_arc) { ! XDrawArc(mainDisplay, drawWindow, drawGC, ltx, lty, w, h, ! angle1, angle2); ! PixelToMeasurementUnit(r_buf, ABS_SIZE(w>>1)); ! sprintf(buf, "r=%s\ndegree=%1d", r_buf, abs(angle2>>6)); ! } else { ! XDrawLine(mainDisplay, drawWindow, drawGC, OrigX, OrigY, ! saved_x, saved_y); ! dx = saved_x - OrigX; ! dy = saved_y - OrigY; ! radius = (int)(sqrt((double)(((double)dx)*((double)dx) + ! ((double)dy)*((double)dy)))); ! w = h = (radius<<1); ! PixelToMeasurementUnit(r_buf, ABS_SIZE(radius)); ! PixelToMeasurementUnit(x_buf, ABS_X(saved_x)); ! PixelToMeasurementUnit(y_buf, ABS_Y(saved_y)); ! sprintf(buf, "r=%s\nx=%s\ny=%s", r_buf, x_buf, y_buf); ! } ! EndShowMeasureCursor(saved_x, saved_y, buf, TRUE); done = TRUE; ! angle2 = 0; Msg(""); } else { ! if (drawing_arc) { ! XUngrabPointer(mainDisplay, CurrentTime); ! XDrawArc(mainDisplay, drawWindow, drawGC, ltx, lty, w, h, ! angle1, angle2); ! PixelToMeasurementUnit(r_buf, ABS_SIZE(w>>1)); ! sprintf(buf, "r=%s\ndegree=%1d", r_buf, abs(angle2>>6)); ! EndShowMeasureCursor(saved_x, saved_y, buf, TRUE); ! done = TRUE; ! Msg(""); ! } else { ! dx = saved_x - OrigX; ! dy = saved_y - OrigY; ! radius = (int)(sqrt((double)(((double)dx)*((double)dx) + ! ((double)dy)*((double)dy)))); ! w = h = (radius<<1); ! PixelToMeasurementUnit(r_buf, ABS_SIZE(radius)); ! PixelToMeasurementUnit(x_buf, ABS_X(saved_x)); ! PixelToMeasurementUnit(y_buf, ABS_Y(saved_y)); ! sprintf(buf, "r=%s\nx=%s\ny=%s", r_buf, x_buf, y_buf); ! ShowMeasureCursor(saved_x, saved_y, buf, TRUE); ! XDrawLine(mainDisplay, drawWindow, drawGC, OrigX, OrigY, ! saved_x, saved_y); ! first_x = saved_x; ! first_y = saved_y; ! drawing_arc = TRUE; ! if (OrigX == grid_x && OrigY == grid_y) { ! /* fake it as if the 1st point is ok but not the 2nd point */ ! XUngrabPointer(mainDisplay, CurrentTime); ! grid_x = first_x; ! grid_y = first_y; ! done = TRUE; ! } ! SetMouseStatus("Set end of arc", "Cancel", "Cancel"); ! Msg("Please specify the end of the arc."); ! PixelToMeasurementUnit(r_buf, ABS_SIZE(radius)); ! sprintf(buf, "r=%s\ndegree=0", r_buf); ! ShowMeasureCursor(saved_x, saved_y, buf, TRUE); ! if (done) { ! PixelToMeasurementUnit(r_buf, ABS_SIZE(radius)); ! sprintf(buf, "r=%s\ndegree=0", r_buf); ! EndShowMeasureCursor(saved_x, saved_y, buf, TRUE); ! } ! } } } else if (input.type == MotionNotify || input.type == KeyPress || input.type == KeyRelease) { --- 1625,1671 ---- ExposeEventHandler(&input, TRUE); } else if (input.type == ButtonPress) { ! if (input.xbutton.button != Button1 || drawing_arc) { XUngrabPointer(mainDisplay, CurrentTime); ! HighLightInContinueArc(drawing_arc, OrigX, OrigY, saved_x, ! saved_y, ltx, lty, &w, &h, angle1, angle2, &dx, &dy, &radius, ! FALSE, TRUE, buf); done = TRUE; ! if (input.xbutton.button != Button1) { ! angle2 = 0; ! } Msg(""); + break; + } + /* drawing_arc is FALSE here */ + HighLightInContinueArc(drawing_arc, OrigX, OrigY, saved_x, + saved_y, ltx, lty, &w, &h, angle1, angle2, &dx, &dy, + &radius, TRUE, FALSE, buf); + XDrawLine(mainDisplay, drawWindow, drawGC, OrigX, OrigY, + saved_x, saved_y); + first_x = saved_x; + first_y = saved_y; + drawing_arc = TRUE; + if (OrigX == grid_x && OrigY == grid_y) { + /* fake it as if the 1st point is ok but not the 2nd point */ + XUngrabPointer(mainDisplay, CurrentTime); + grid_x = first_x; + grid_y = first_y; + done = TRUE; + } + if (curChoice == DRAWEDGEARC) { + SetMouseStatus("Set 3rd point on arc", "Cancel", "Cancel"); + Msg("Please specify a 3rd point on the arc."); } else { ! SetMouseStatus("Set end of arc", "Cancel", "Cancel"); ! Msg("Please specify the end of the arc."); } + PixelToMeasurementUnit(r_buf, ABS_SIZE(radius)); + sprintf(buf, "r=%s\ndegree=0", r_buf); + ShowMeasureCursor(saved_x, saved_y, buf, TRUE); + if (done) { + PixelToMeasurementUnit(r_buf, ABS_SIZE(radius)); + sprintf(buf, "r=%s\ndegree=0", r_buf); + EndShowMeasureCursor(saved_x, saved_y, buf, TRUE); + } } else if (input.type == MotionNotify || input.type == KeyPress || input.type == KeyRelease) { *************** *** 1455,1477 **** if (CharIsESC(&(input.xkey), s, key_sym, &has_ch)) { XUngrabPointer(mainDisplay, CurrentTime); ! if (drawing_arc) { ! XDrawArc(mainDisplay, drawWindow, drawGC, ltx, lty, w, h, ! angle1, angle2); ! PixelToMeasurementUnit(r_buf, ABS_SIZE(w>>1)); ! sprintf(buf, "r=%s\ndegree=%1d", r_buf, abs(angle2>>6)); ! } else { ! XDrawLine(mainDisplay, drawWindow, drawGC, OrigX, OrigY, ! saved_x, saved_y); ! dx = saved_x - OrigX; ! dy = saved_y - OrigY; ! radius = (int)(sqrt((double)(((double)dx)*((double)dx) + ! ((double)dy)*((double)dy)))); ! w = h = (radius<<1); ! PixelToMeasurementUnit(r_buf, ABS_SIZE(radius)); ! PixelToMeasurementUnit(x_buf, ABS_X(saved_x)); ! PixelToMeasurementUnit(y_buf, ABS_Y(saved_y)); ! sprintf(buf, "r=%s\nx=%s\ny=%s", r_buf, x_buf, y_buf); ! } ! EndShowMeasureCursor(saved_x, saved_y, buf, TRUE); done = TRUE; angle2 = 0; --- 1680,1686 ---- if (CharIsESC(&(input.xkey), s, key_sym, &has_ch)) { XUngrabPointer(mainDisplay, CurrentTime); ! HighLightInContinueArc(drawing_arc, OrigX, OrigY, saved_x, ! saved_y, ltx, lty, &w, &h, angle1, angle2, &dx, &dy, ! &radius, FALSE, TRUE, buf); done = TRUE; angle2 = 0; *************** *** 1482,1500 **** break; } ! if (drawing_arc) { ! PixelToMeasurementUnit(r_buf, ABS_SIZE(w>>1)); ! sprintf(buf, "r=%s\ndegree=%1d", r_buf, abs(angle2>>6)); ! ShowMeasureCursor(saved_x, saved_y, buf, TRUE); ! } else { ! dx = saved_x - OrigX; ! dy = saved_y - OrigY; ! radius = (int)(sqrt((double)(((double)dx)*((double)dx) + ! ((double)dy)*((double)dy)))); ! PixelToMeasurementUnit(r_buf, ABS_SIZE(radius)); ! PixelToMeasurementUnit(x_buf, ABS_X(saved_x)); ! PixelToMeasurementUnit(y_buf, ABS_Y(saved_y)); ! sprintf(buf, "r=%s\nx=%s\ny=%s", r_buf, x_buf, y_buf); ! ShowMeasureCursor(saved_x, saved_y, buf, TRUE); ! } if (input.type == KeyPress || input.type == KeyRelease) { end_x = saved_x; --- 1691,1697 ---- break; } ! HighLightInContinueArc(drawing_arc, OrigX, OrigY, saved_x, saved_y, ! ltx, lty, &w, &h, angle1, angle2, &dx, &dy, &radius, ! TRUE, FALSE, buf); if (input.type == KeyPress || input.type == KeyRelease) { end_x = saved_x; *************** *** 1515,1542 **** if (grid_x != saved_x || grid_y != saved_y) { if (drawing_arc) { ! /* finished with the center and the first point on the arc */ ! if (dir == INVALID) { ! dir = ArcDirection(OrigX, OrigY, first_x, first_y, ! grid_x, grid_y); ! ltx = OrigX; lty = OrigY; w = 0; h = 0; angle1 = angle2 = 0; ! if (dir == ARC_CW) { ! sprintf(gszMsgBox, ! "Please specify the end of the arc. (%s).", ! "clockwise"); } else { ! sprintf(gszMsgBox, ! "Please specify the end of the arc. (%s).", ! "counter-clockwise"); } ! Msg(gszMsgBox); } - XDrawArc(mainDisplay, drawWindow, drawGC, ltx, lty, w, h, - angle1, angle2); - saved_x = grid_x; - saved_y = grid_y; - PointsToArc(OrigX, OrigY, first_x, first_y, saved_x, saved_y, - dir, TRUE, <x, <y, &w, &h, &angle1, &angle2); - XDrawArc(mainDisplay, drawWindow, drawGC, ltx, lty, w, h, - angle1, angle2); } else { /* looking for the first point on the arc */ --- 1712,1760 ---- if (grid_x != saved_x || grid_y != saved_y) { if (drawing_arc) { ! if (curChoice == DRAWEDGEARC) { ! /* finished with the endpoints of the arc */ ! if (dir != INVALID) { ! XDrawArc(mainDisplay, drawWindow, drawGC, ltx, lty, w, h, ! angle1, angle2); ! } ! saved_x = grid_x; ! saved_y = grid_y; ! if (!GetCenter(OrigX, OrigY, first_x, first_y, grid_x, grid_y, ! &cx, &cy, &dir)) { ! dir = INVALID; } else { ! ltx = cx; lty = cy; w = 0; h = 0; angle1 = angle2 = 0; ! PointsToArc(cx, cy, OrigX, OrigY, first_x, first_y, ! dir, TRUE, <x, <y, &w, &h, &angle1, &angle2); ! XDrawArc(mainDisplay, drawWindow, drawGC, ltx, lty, w, h, ! angle1, angle2); } ! } else { ! /* finished with the center and the first point on the arc */ ! if (dir == INVALID) { ! dir = ArcDirection(OrigX, OrigY, first_x, first_y, ! grid_x, grid_y); ! ltx = OrigX; lty = OrigY; w = 0; h = 0; ! angle1 = angle2 = 0; ! if (dir == ARC_CW) { ! sprintf(gszMsgBox, ! "Please specify the end of the arc. (%s).", ! "clockwise"); ! } else { ! sprintf(gszMsgBox, ! "Please specify the end of the arc. (%s).", ! "counter-clockwise"); ! } ! Msg(gszMsgBox); ! } ! XDrawArc(mainDisplay, drawWindow, drawGC, ltx, lty, w, h, ! angle1, angle2); ! saved_x = grid_x; ! saved_y = grid_y; ! PointsToArc(OrigX, OrigY, first_x, first_y, saved_x, saved_y, ! dir, TRUE, <x, <y, &w, &h, &angle1, &angle2); ! XDrawArc(mainDisplay, drawWindow, drawGC, ltx, lty, w, h, ! angle1, angle2); } } else { /* looking for the first point on the arc */ *************** *** 1549,1567 **** } } ! if (drawing_arc) { ! PixelToMeasurementUnit(r_buf, ABS_SIZE(w>>1)); ! sprintf(buf, "r=%s\ndegree=%1d", r_buf, abs(angle2>>6)); ! ShowMeasureCursor(saved_x, saved_y, buf, TRUE); ! } else { ! dx = saved_x - OrigX; ! dy = saved_y - OrigY; ! radius = (int)(sqrt((double)(((double)dx)*((double)dx) + ! ((double)dy)*((double)dy)))); ! PixelToMeasurementUnit(r_buf, ABS_SIZE(radius)); ! PixelToMeasurementUnit(x_buf, ABS_X(saved_x)); ! PixelToMeasurementUnit(y_buf, ABS_Y(saved_y)); ! sprintf(buf, "r=%s\nx=%s\ny=%s", r_buf, x_buf, y_buf); ! ShowMeasureCursor(saved_x, saved_y, buf, TRUE); ! } MarkRulers(grid_x, grid_y); while (XCheckMaskEvent(mainDisplay, PointerMotionMask, &ev)) ; --- 1767,1773 ---- } } ! HighLightInContinueArc(drawing_arc, OrigX, OrigY, saved_x, saved_y, ! ltx, lty, &w, &h, angle1, angle2, &dx, &dy, &radius, ! TRUE, FALSE, buf); MarkRulers(grid_x, grid_y); while (XCheckMaskEvent(mainDisplay, PointerMotionMask, &ev)) ; *************** *** 1569,1577 **** } SetMouseStatus(NULL, NULL, NULL); ! if (angle2 == 0) { Msg("No arc created."); } else { ! obj_ptr = CreateArcObj(OrigX, OrigY, first_x, first_y, saved_x, ! saved_y, dir, ltx, lty, w, h, angle1, angle2); RecordNewObjCmd(); DrawArcObj(drawWindow, drawOrigX, drawOrigY, topObj); --- 1775,1788 ---- } SetMouseStatus(NULL, NULL, NULL); ! if (angle2 == 0 || dir == INVALID) { Msg("No arc created."); } else { ! if (curChoice == DRAWEDGEARC) { ! obj_ptr = CreateArcObj(cx, cy, OrigX, OrigY, first_x, first_y, ! dir, ltx, lty, w, h, angle1, angle2); ! } else { ! obj_ptr = CreateArcObj(OrigX, OrigY, first_x, first_y, saved_x, ! saved_y, dir, ltx, lty, w, h, angle1, angle2); ! } RecordNewObjCmd(); DrawArcObj(drawWindow, drawOrigX, drawOrigY, topObj); *** attr.c.orig Thu Jan 21 23:21:58 1999 --- attr.c Thu Jan 21 23:21:58 1999 *************** *** 167,188 **** } - int AttrNameWidth(attr_ptr) - struct AttrRec *attr_ptr; - { - int w=0; - StrSegInfo *pStrSeg=GetTextFirstStrSeg(attr_ptr->obj); - - PushCurFont(); - curFont = pStrSeg->font; - curSzUnit = pStrSeg->sz_unit; - curStyle = pStrSeg->style; - SetCanvasFont(); - w = MyTextWidth(canvasFontPtr, attr_ptr->attr_name.s, - attr_ptr->attr_name.sz-1); - PopCurFont(); - - return w; - } - void UpdateAttr(TextPtr, AttrPtr) struct TextRec *TextPtr; --- 167,170 ---- *** auxtext.c.orig Thu Jan 21 23:22:00 1999 --- auxtext.c Thu Jan 21 23:22:00 1999 *************** *** 1972,1979 **** { MiniLineInfo *pMiniLine=NewMiniLine(); - StrBlockInfo *pStrBlock=CreateStrBlockFromString(buf, pMiniLine); ! pMiniLine->first_block = pMiniLine->last_block = pStrBlock; if (ppFirstMiniLine != NULL && ppLastMiniLine != NULL) { pMiniLine->prev = (*ppLastMiniLine); --- 1972,2009 ---- { MiniLineInfo *pMiniLine=NewMiniLine(); ! if (canvasFontDoubleByte) { ! struct StrRec *pStr=NULL, *pStr1=NULL; + pStr = SegmentDoubleByteString(buf); + for (pStr1=pStr; pStr1 != NULL; pStr1=pStr1->next) { + int str_seg_double_byte=TRUE; + StrBlockInfo *pStrBlock=CreateStrBlockFromString(pStr1->dyn_str.s, + pMiniLine); + + if (*pStr1->dyn_str.s != '\0') { + str_seg_double_byte = ((*pStr1->dyn_str.s) & 0x80); + } + pStrBlock->prev = pMiniLine->last_block; + if (pMiniLine->first_block == NULL) { + pMiniLine->first_block = pStrBlock; + } else { + pMiniLine->last_block->next = pStrBlock; + } + pMiniLine->last_block = pStrBlock; + + if (str_seg_double_byte == FALSE) { + pStrBlock->seg->font = defaultSingleByteFont; + pStrBlock->seg->double_byte = FALSE; + pStrBlock->seg->double_byte_mod_bytes = FALSE; + pStrBlock->seg->double_byte_vertical = FALSE; + } + } + FreeStrList(pStr); + } else { + StrBlockInfo *pStrBlock=CreateStrBlockFromString(buf, pMiniLine); + + pMiniLine->first_block = pMiniLine->last_block = pStrBlock; + } if (ppFirstMiniLine != NULL && ppLastMiniLine != NULL) { pMiniLine->prev = (*ppLastMiniLine); *** choice.c.orig Thu Jan 21 23:22:01 1999 --- choice.c Thu Jan 21 23:22:01 1999 *************** *** 411,416 **** h = canvasFontHeight; ! XClearArea(mainDisplay, choiceWindow, image_x, image_y, choiceImageW, ! choiceImageH, FALSE); XSetFont(mainDisplay, choiceGC, canvasFontPtr->fid); --- 411,417 ---- h = canvasFontHeight; ! XClearArea(mainDisplay, choiceWindow, image_x-windowPadding, ! image_y-windowPadding, choiceImageW+(windowPadding<<1), ! choiceImageH+(windowPadding<<1), FALSE); XSetFont(mainDisplay, choiceGC, canvasFontPtr->fid); *************** *** 532,537 **** image_y = 1+windowPadding+ZOOM_ROW*(choiceImageH+windowPadding); } ! XClearArea(mainDisplay, choiceWindow, image_x, image_y, choiceImageW, ! choiceImageH, FALSE); sprintf(s, "x%1d", 1< squareCharW1 || char_h > squareCharW1) { - int wh=max(char_w, char_h); - - if (squareCharPixmap1 != None) { - XFreePixmap(mainDisplay, squareCharPixmap1); - } - if (squareCharImage1 != NULL) XDestroyImage(squareCharImage1); - squareCharPixmap1 = XCreatePixmap(mainDisplay, d, wh, wh, nDepth); - if (squareCharPixmap1 == None) { - sprintf(gszMsgBox, "Cannot allocate pixmap of size %1dx%1d.", - wh, wh); - MsgBox(gszMsgBox, TOOL_NAME, INFO_MB); - return FALSE; - } - squareCharImage1 = XGetImage(mainDisplay, squareCharPixmap1, 0, 0, - wh, wh, 1, ZPixmap); - if (squareCharImage1 == NULL) { - sprintf(gszMsgBox, "Cannot get image of size %1dx%1d.", wh, wh); - MsgBox(gszMsgBox, TOOL_NAME, INFO_MB); - return FALSE; - } - squareCharW1 = wh; - } - squareCharPixmap = squareCharPixmap1; - squareCharImage = squareCharImage1; - } else { - if (char_w > squareCharWAll || char_h > squareCharWAll) { - int wh=max(char_w, char_h); - - if (squareCharPixmapAll != None) { - XFreePixmap(mainDisplay, squareCharPixmapAll); - } - if (squareCharImageAll != NULL) XDestroyImage(squareCharImageAll); - squareCharPixmapAll = XCreatePixmap(mainDisplay, d, wh, wh, nDepth); - if (squareCharPixmapAll == None) { - sprintf(gszMsgBox, "Cannot allocate pixmap of size %1dx%1d.", - wh, wh); - MsgBox(gszMsgBox, TOOL_NAME, INFO_MB); - return FALSE; - } - squareCharImageAll = XGetImage(mainDisplay, squareCharPixmapAll, 0, 0, - wh, wh, AllPlanes, ZPixmap); - if (squareCharImageAll == NULL) { - sprintf(gszMsgBox, "Cannot get image of size %1dx%1d.", wh, wh); - MsgBox(gszMsgBox, TOOL_NAME, INFO_MB); - return FALSE; - } - squareCharWAll = wh; - } - squareCharPixmap = squareCharPixmapAll; - squareCharImage = squareCharImageAll; - } - return TRUE; - } - - static - int DoVertTextAdjust(dpy, d, gc, nDepth, nRotate, xstart, ystart, w, char_h, - num) - Display *dpy; - Drawable d; - GC gc; - int xstart, ystart, w, char_h, num; - /* assuming every character is square, so w/h is the number of chars */ - { - XImage *src_image=NULL; - int i, xoffset=0, char_w=w/num; - - if (w % num != 0) { - #ifdef _TGIF_DBG - static int initialized=FALSE; - - sprintf(gszMsgBox, "%s, w (=%1d) %s char_h (=%1d)", - "WARNING: In DoVertTextAdjust()", w, "is not a multiple of", - char_h); - if (!initialized) { - MsgBox(gszMsgBox, TOOL_NAME, INFO_MB); - } else { - fprintf(stderr, "%s\n", gszMsgBox); - } - initialized = TRUE; - #endif /* _TGIF_DBG */ - } - if (!CreateSquareCharPixmapAndImage(d, nDepth, char_w, char_h)) { - return FALSE; - } - src_image = XGetImage(dpy, d, xstart, ystart, w, char_h, - nDepth==1 ? 1 : AllPlanes, ZPixmap); - if (src_image == NULL) { - sprintf(gszMsgBox, "Cannot get image of size %1dx%1d.", w, char_h); - MsgBox(gszMsgBox, TOOL_NAME, INFO_MB); - return FALSE; - } - switch (nRotate) { - case ROTATE90: - xoffset = 0; - for (i=0; i < num; i++, xoffset+=char_w) { - int r=0; - - for (r=0; r < char_h; r++) { - int c=0; - - for (c=0; c < char_w; c++) { - int x=xoffset+r; - int y=char_w-c-1; - - XPutPixel(squareCharImage, c, r, XGetPixel(src_image, x, y)); - } - } - XPutImage(dpy, d, gc, squareCharImage, 0, 0, xstart+xoffset, ystart, - char_w, char_h); - } - break; - case ROTATE270: - xoffset = 0; - for (i=0; i < num; i++, xoffset+=char_w) { - int r=0; - - for (r=0; r < char_h; r++) { - int c=0; - - for (c=0; c < char_w; c++) { - int x=xoffset+char_h-r-1; - int y=c; - - XPutPixel(squareCharImage, c, r, XGetPixel(src_image, x, y)); - } - } - XPutImage(dpy, d, gc, squareCharImage, 0, 0, xstart+xoffset, ystart, - char_w, char_h); - } - break; - } - XDestroyImage(src_image); - - return TRUE; - } - void MyDrawString(dpy, d, gc, nDepth, x, y, pszStr, nLen) Display *dpy; --- 855,858 ---- *************** *** 1009,1013 **** nDoubleByte = ((*pszStart) & 0x80); if (nDoubleByte) { ! int nDoubleByteIndex=0, nOdd=FALSE, w=0; for (psz=pszStart, nSubStrIndex=0; --- 874,878 ---- nDoubleByte = ((*pszStart) & 0x80); if (nDoubleByte) { ! int nDoubleByteIndex=0, nOdd=FALSE, w=0, i=0; for (psz=pszStart, nSubStrIndex=0; *************** *** 1024,1029 **** } if (canvasFontDoubleByteModBytes) { - int i; - for (i=0; i < nDoubleByteIndex; i++) { gpszTmpStr16[i].byte1 &= 0x7f; --- 889,892 ---- *************** *** 1031,1044 **** } } - XDrawString16(dpy, d, gc, x+nTotal, y, gpszTmpStr16, - nDoubleByteIndex); - w = XTextWidth16(canvasFontPtr, gpszTmpStr16, - nDoubleByteIndex); if (canvasFontDoubleByteVertical) { ! DoVertTextAdjust(dpy, d, gc, nDepth, ROTATE270, ! x+nTotal, y-canvasFontAsc, w, canvasFontHeight, nDoubleByteIndex); } - nTotal += w; } else { for (psz=pszStart, nSubStrIndex=0; --- 894,937 ---- } } if (canvasFontDoubleByteVertical) { ! for (i=0; i < nDoubleByteIndex; i++) { ! char buf[3]; ! Pixmap bitmap=None; ! TextExtentsInfo stTextExtents; ! ! w = XTextWidth16(canvasFontPtr, &gpszTmpStr16[i], 1); ! buf[0] = pszStart[i<<1]; ! buf[1] = pszStart[(i<<1)+1]; ! buf[2] = '\0'; ! memset(&stTextExtents, 0, sizeof(TextExtentsInfo)); ! stTextExtents.buf = buf; ! stTextExtents.len = 2; ! bitmap = PaintVertChar(&stTextExtents, ROTATE270); ! if (bitmap != None) { ! XGCValues values; ! ! values.clip_mask = bitmap; ! values.clip_x_origin = x+nTotal; ! values.clip_y_origin = y-canvasFontAsc; ! XChangeGC(dpy, gc, ! GCClipMask | GCClipXOrigin | GCClipYOrigin, &values); ! ! XFillRectangle(dpy, d, gc, x+nTotal, y-canvasFontAsc, ! stTextExtents.bbox_h, stTextExtents.bbox_w); ! ! values.clip_mask = None; ! values.clip_x_origin = 0; ! values.clip_y_origin = 0; ! XChangeGC(dpy, gc, ! GCClipMask | GCClipXOrigin | GCClipYOrigin, &values); ! } ! nTotal += w; ! } ! } else { ! XDrawString16(dpy, d, gc, x+nTotal, y, gpszTmpStr16, nDoubleByteIndex); + w = XTextWidth16(canvasFontPtr, gpszTmpStr16, nDoubleByteIndex); + nTotal += w; } } else { for (psz=pszStart, nSubStrIndex=0; *************** *** 1085,1089 **** XFreePixmap(mainDisplay, rotatedVertFontBitmap); } - if (rotatedVertFontImage != NULL) XDestroyImage(rotatedVertFontImage); tmp_w = max(image_w, vertFontBitmapW); tmp_h = max(image_h, vertFontBitmapH); --- 978,981 ---- *************** *** 1129,1132 **** --- 1021,1025 ---- return FALSE; } + if (rotatedVertFontImage != NULL) XDestroyImage(rotatedVertFontImage); rotatedVertFontImage = XGetImage(mainDisplay, rotatedVertFontBitmap, 0, 0, dest_cols, dest_rows, 1, ZPixmap); *************** *** 1673,1676 **** --- 1566,1572 ---- if (allowFontFaceSubstitution && fs_ptr == NULL) { + #ifdef _TGIF_DBG + TgAssert(FALSE, "Font substitution detected in SetCanvasFont()", NULL); + #endif /* _TGIF_DBG */ fs_ptr = FindFontInfo(defaultCurFont, defaultCurStyle, defaultCurSzUnit); *************** *** 1873,1876 **** --- 1769,1775 ---- } for (i=0, j=0; ifont_strings[j+X_FONT_SUFFIX], "V") == 0) { + fontFamilies[fmly_index].fr[i].vert = TRUE; + } fontInfoStr[index++] = fmly_ptr->font_strings[j++]; fontInfoStr[index++] = fmly_ptr->font_strings[j++]; *************** *** 2224,2231 **** vertFontBitmapW = vertFontBitmapH = 0; - squareCharPixmap1 = squareCharPixmapAll = None; - squareCharImage1 = squareCharImageAll = NULL; - squareCharW1 = squareCharWAll = 0; - debugScalableFonts = FALSE; if ((c_ptr=XGetDefault(mainDisplay,TOOL_NAME,"DebugScalableFonts")) != --- 2123,2126 ---- *************** *** 2824,2827 **** --- 2719,2728 ---- pStrSeg->font = font; pStrSeg->double_byte = double_byte; + if (double_byte) { + pStrSeg->double_byte_vertical = + IsDoubleByteFontVertical(font, style); + } else { + pStrSeg->double_byte_vertical = FALSE; + } break; } *************** *** 2972,2976 **** --- 2873,2879 ---- } curStyle = StyleIndex; + allowFontFaceSubstitution = FALSE; SetCanvasFont(); + allowFontFaceSubstitution = TRUE; if (curChoice == DRAWTEXT && textCursorShown) { if (ChangeEditTextProperty(PROP_MASK_TEXT_STYLE, StyleIndex)) { *************** *** 3861,3874 **** struct FontSizeRec *fs_ptr, *next_fs; - if (squareCharPixmap1 != None) XFreePixmap(mainDisplay, squareCharPixmap1); - if (squareCharImage1 != NULL) XDestroyImage(squareCharImage1); - if (squareCharPixmapAll != None) { - XFreePixmap(mainDisplay, squareCharPixmapAll); - } - if (squareCharImageAll != NULL) XDestroyImage(squareCharImageAll); - squareCharPixmap = squareCharPixmap1 = squareCharPixmapAll = None; - squareCharImage = squareCharImage1 = squareCharImageAll = NULL; - squareCharW = squareCharW1 = squareCharWAll = 0; - if (vertFontBitmap != None) XFreePixmap(mainDisplay, vertFontBitmap); if (rotatedVertFontBitmap != None) { --- 3764,3767 ---- *** mainloop.c.orig Thu Jan 21 23:22:09 1999 --- mainloop.c Thu Jan 21 23:22:09 1999 *************** *** 470,473 **** --- 470,474 ---- FILE *xenv_fp=NULL; char tmp_buf[MAXPATHLENGTH+1]; + int len=0; #endif /* USE_XAPPLRESDIR */ struct ObjRec *obj_ptr=NULL; *************** *** 1081,1106 **** #else char *c_ptr1=NULL; ! setlocale(LC_ALL, NULL); ! if ((c_ptr1=((char*)getenv("LANG"))) != NULL) { ! setlocale(LC_ALL, c_ptr1); } - if ((c_ptr1=((char*)getenv("LC_COLLATE"))) != NULL) { - setlocale(LC_COLLATE, c_ptr1); - } - if ((c_ptr1=((char*)getenv("LC_CTYPE"))) != NULL) { - setlocale(LC_CTYPE, c_ptr1); - } - if ((c_ptr1=((char*)getenv("LC_NUMERIC"))) != NULL) { - setlocale(LC_NUMERIC, c_ptr1); - } - if ((c_ptr1=((char*)getenv("LC_TIME"))) != NULL) { - setlocale(LC_TIME, c_ptr1); - } - if ((c_ptr1=((char*)getenv("LC_MONETARY"))) != NULL) { - setlocale(LC_MONETARY, c_ptr1); - } - XSupportsLocale(); - XSetLocaleModifiers(NULL); #endif /* USE_XT_INITIALIZE */ } --- 1082,1117 ---- #else char *c_ptr1=NULL; + #ifndef _DONT_USE_PORTABLE_LOCALE + int use_portable_locale=TRUE; + #else /* _DONT_USE_PORTABLE_LOCALE */ + int use_portable_locale=FALSE; + #endif /* ~_DONT_USE_PORTABLE_LOCALE */ ! if (use_portable_locale) { ! setlocale(LC_ALL, "C"); ! } else { ! setlocale(LC_ALL, NULL); ! if ((c_ptr1=((char*)getenv("LANG"))) != NULL) { ! setlocale(LC_ALL, c_ptr1); ! } ! if ((c_ptr1=((char*)getenv("LC_COLLATE"))) != NULL) { ! setlocale(LC_COLLATE, c_ptr1); ! } ! if ((c_ptr1=((char*)getenv("LC_CTYPE"))) != NULL) { ! setlocale(LC_CTYPE, c_ptr1); ! } ! if ((c_ptr1=((char*)getenv("LC_NUMERIC"))) != NULL) { ! setlocale(LC_NUMERIC, c_ptr1); ! } ! if ((c_ptr1=((char*)getenv("LC_TIME"))) != NULL) { ! setlocale(LC_TIME, c_ptr1); ! } ! if ((c_ptr1=((char*)getenv("LC_MONETARY"))) != NULL) { ! setlocale(LC_MONETARY, c_ptr1); ! } ! if (XSupportsLocale()) { ! XSetLocaleModifiers(NULL); ! } } #endif /* USE_XT_INITIALIZE */ } *** menuinfo.c.orig Thu Jan 21 23:22:10 1999 --- menuinfo.c Thu Jan 21 23:22:10 1999 *************** *** 82,86 **** "Enter draw polygon/close spline mode", NULL, CMDID_DRAWPOLYGON }, { (char*)(&choicePixmap[DRAWARC]), NULL, ! "Enter draw arc mode", NULL, CMDID_DRAWARC }, { (char*)(&choicePixmap[DRAWRCBOX]), NULL, "Enter draw rcbox mode", NULL, CMDID_DRAWRCBOX }, --- 82,88 ---- "Enter draw polygon/close spline mode", NULL, CMDID_DRAWPOLYGON }, { (char*)(&choicePixmap[DRAWARC]), NULL, ! "Enter draw arc mode (specify center first)", NULL, CMDID_DRAWARC }, ! { (char*)(&choicePixmap[DRAWEDGEARC]), NULL, ! "Enter draw arc mode (specify endpoints first)", NULL, CMDID_DRAWEDGEARC }, { (char*)(&choicePixmap[DRAWRCBOX]), NULL, "Enter draw rcbox mode", NULL, CMDID_DRAWRCBOX }, *************** *** 785,788 **** --- 787,800 ---- TgCreateMenuFromMenuInfo }; + static TgMenuInfo alignObjsDirectMenuInfo={ TGMUTYPE_BITMAP, NULL, + CreateAlignObjsDirectMenu }; + static TgMenuInfo alignToGridDirectMenuInfo={ TGMUTYPE_BITMAP, NULL, + CreateAlignToGridDirectMenu }; + static TgMenuInfo alignToPageDirectMenuInfo={ TGMUTYPE_BITMAP, NULL, + CreateAlignToPageDirectMenu }; + + static TgMenuInfo distrObjsDirectMenuInfo={ TGMUTYPE_BITMAP, NULL, + CreateDistributeDirectMenu }; + static TgMenuItemInfo arrangeMenuItemInfo[] = { { "Front", "Cntrl+f", "Bring selected objects to the front", NULL, *************** *** 815,818 **** --- 827,836 ---- "Align selected objects to the page using the current alignments", NULL, CMDID_ALIGNTOPAGE }, + { "AlignObjsDirect", TGMUITEM_SUBMENU, + "Align objects direct submenu >>>", &alignObjsDirectMenuInfo, INVALID }, + { "AlignToGridDirect", TGMUITEM_SUBMENU, + "Align to grid direct submenu >>>", &alignToGridDirectMenuInfo, INVALID }, + { "AlignToPageDirect", TGMUITEM_SUBMENU, + "Align to page direct submenu >>>", &alignToPageDirectMenuInfo, INVALID }, { "More Object Alignments", TGMUITEM_SUBMENU, "Align objects submenu >>>", &alignMenuInfo, INVALID }, *************** *** 824,827 **** --- 842,848 ---- "Distribute selected objects using the current alignments", NULL, CMDID_DISTRIBUTEOBJS }, + { "DistributeObjsDirect", TGMUITEM_SUBMENU, + "Distribute objects direct submenu >>>", &distrObjsDirectMenuInfo, + INVALID }, { "LayoutOnArc", NULL, "Layout objects on an arc", NULL, CMDID_LAYOUTONARC }, { TGMUITEM_SEPARATOR, NULL, NULL, NULL, INVALID }, *** miniline.c.orig Thu Jan 21 23:22:12 1999 --- miniline.c Thu Jan 21 23:22:12 1999 *************** *** 1064,1073 **** if (!textHighlight) { ! XSetForeground(mainDisplay, defaultGC, ! GetDrawingFgPixel(INVALID, INVALID)); ! XDrawLine(mainDisplay, drawWindow, defaultGC, textCurX, ! textCurBaselineY-asc, textCurX, ! textCurBaselineY+des); ! XSetForeground(mainDisplay, defaultGC, myFgPixel); } if (canvasFontDoubleByte && gnInputMethod != TGIM_NONE && gnOverTheSpot) { --- 1064,1071 ---- if (!textHighlight) { ! XSetForeground(mainDisplay, revDefaultGC, xorOne); ! XDrawLine(mainDisplay, drawWindow, revDefaultGC, textCurX, ! textCurBaselineY-asc, textCurX, textCurBaselineY+des); ! XSetForeground(mainDisplay, revDefaultGC, xorOne); } if (canvasFontDoubleByte && gnInputMethod != TGIM_NONE && gnOverTheSpot) { *************** *** 1078,1081 **** --- 1076,1092 ---- } + void EraseTextCursor() + { + int asc=curStrBlock->seg->asc; + int des=curStrBlock->seg->des; + + XSetForeground(mainDisplay, revDefaultGC, + GetDrawingFgPixel(INVALID, INVALID) ^ + GetDrawingBgPixel(INVALID, INVALID)); + XDrawLine(mainDisplay, drawWindow, revDefaultGC, textCurX, + textCurBaselineY-asc, textCurX, textCurBaselineY+des); + XSetForeground(mainDisplay, revDefaultGC, xorOne); + } + void GetCurTextBBoxes(pOBBox, pBBox) struct BBRec *pOBBox, *pBBox; *************** *** 1592,1597 **** PaintCurText(); PutTextCursor(); - - UpdateTextInfoChoices(); } --- 1603,1606 ---- *************** *** 2451,2454 **** --- 2460,2470 ---- SzUnitToFontSize(pStrSeg->sz_unit), &got_requested_size)) { pStrSeg->font = nValue; + if (pStrSeg->double_byte) { + pStrSeg->double_byte_vertical = canvasFontDoubleByteVertical; + pStrSeg->double_byte_mod_bytes = canvasFontDoubleByteModBytes; + } else { + pStrSeg->double_byte_vertical = FALSE; + pStrSeg->double_byte_mod_bytes = FALSE; + } if (!got_requested_size) { pStrSeg->sz_unit = FontSizeToSzUnit(canvasFontSize); *************** *** 4596,4601 **** int *pnSomethingPrinted; { - int block_w=pStrBlock->w; - switch (pStrBlock->type) { case SB_SIMPLE: --- 4612,4615 ---- *** raster.c.orig Thu Jan 21 23:22:14 1999 --- raster.c Thu Jan 21 23:22:15 1999 *************** *** 61,64 **** --- 61,65 ---- #include "xbm/polygon.xbm" #include "xbm/arc.xbm" + #include "xbm/arc_edge.xbm" #include "xbm/rcbox.xbm" #include "xbm/freehand.xbm" *************** *** 137,140 **** --- 138,161 ---- #include "xbm/align_s.xbm" + #include "xbm/align_lt.xbm" + #include "xbm/align_lm.xbm" + #include "xbm/align_lb.xbm" + #include "xbm/align_ct.xbm" + #include "xbm/align_cm.xbm" + #include "xbm/align_cb.xbm" + #include "xbm/align_rt.xbm" + #include "xbm/align_rm.xbm" + #include "xbm/align_rb.xbm" + + #include "xbm/align_sn.xbm" + #include "xbm/align_st.xbm" + #include "xbm/align_sm.xbm" + #include "xbm/align_sb.xbm" + #include "xbm/align_ns.xbm" + #include "xbm/align_ls.xbm" + #include "xbm/align_cs.xbm" + #include "xbm/align_rs.xbm" + #include "xbm/align_ss.xbm" + #include "xbm/lw0.xbm" #include "xbm/lw1.xbm" *************** *** 278,281 **** --- 299,304 ---- Pixmap alignHoriPixmap[MAXALIGNS]; Pixmap alignVertPixmap[MAXALIGNS]; + Pixmap alignDirectPixmap[(MAXALIGNS-1)*(MAXALIGNS-1)]; + Pixmap distrDirectPixmap[MAXALIGNS*MAXALIGNS]; Pixmap *shortLineWidthPixmap=NULL; Pixmap filePixmap=None; *************** *** 647,650 **** --- 670,741 ---- (char *)align_s_bits, align_s_width, align_s_height); + distrDirectPixmap[0] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)patData[0], pat_w[0], pat_h[0]); + distrDirectPixmap[1] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_t_bits, align_t_width, align_t_height); + distrDirectPixmap[2] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_m_bits, align_m_width, align_m_height); + distrDirectPixmap[3] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_b_bits, align_b_width, align_b_height); + distrDirectPixmap[4] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_ns_bits, align_ns_width, align_ns_height); + distrDirectPixmap[5] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_l_bits, align_l_width, align_l_height); + distrDirectPixmap[6] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_lt_bits, align_lt_width, align_lt_height); + distrDirectPixmap[7] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_lm_bits, align_lm_width, align_lm_height); + distrDirectPixmap[8] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_lb_bits, align_lb_width, align_lb_height); + distrDirectPixmap[9] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_ls_bits, align_ls_width, align_ls_height); + distrDirectPixmap[10] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_c_bits, align_c_width, align_c_height); + distrDirectPixmap[11] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_ct_bits, align_ct_width, align_ct_height); + distrDirectPixmap[12] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_cm_bits, align_cm_width, align_cm_height); + distrDirectPixmap[13] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_cb_bits, align_cb_width, align_cb_height); + distrDirectPixmap[14] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_cs_bits, align_cs_width, align_cs_height); + distrDirectPixmap[15] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_r_bits, align_r_width, align_r_height); + distrDirectPixmap[16] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_rt_bits, align_rt_width, align_rt_height); + distrDirectPixmap[17] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_rm_bits, align_rm_width, align_rm_height); + distrDirectPixmap[18] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_rb_bits, align_rb_width, align_rb_height); + distrDirectPixmap[19] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_rs_bits, align_rs_width, align_rs_height); + distrDirectPixmap[20] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_sn_bits, align_sn_width, align_sn_height); + distrDirectPixmap[21] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_st_bits, align_st_width, align_st_height); + distrDirectPixmap[22] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_sm_bits, align_sm_width, align_sm_height); + distrDirectPixmap[23] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_sb_bits, align_sb_width, align_sb_height); + distrDirectPixmap[24] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)align_ss_bits, align_ss_width, align_ss_height); + + alignDirectPixmap[0] = distrDirectPixmap[0]; + alignDirectPixmap[1] = distrDirectPixmap[1]; + alignDirectPixmap[2] = distrDirectPixmap[2]; + alignDirectPixmap[3] = distrDirectPixmap[3]; + alignDirectPixmap[4] = distrDirectPixmap[5]; + alignDirectPixmap[5] = distrDirectPixmap[6]; + alignDirectPixmap[6] = distrDirectPixmap[7]; + alignDirectPixmap[7] = distrDirectPixmap[8]; + alignDirectPixmap[8] = distrDirectPixmap[10]; + alignDirectPixmap[9] = distrDirectPixmap[11]; + alignDirectPixmap[10] = distrDirectPixmap[12]; + alignDirectPixmap[11] = distrDirectPixmap[13]; + alignDirectPixmap[12] = distrDirectPixmap[15]; + alignDirectPixmap[13] = distrDirectPixmap[16]; + alignDirectPixmap[14] = distrDirectPixmap[17]; + alignDirectPixmap[15] = distrDirectPixmap[18]; + defaultLineWidthPixmap[0] = XCreateBitmapFromData(mainDisplay, mainWindow, (char *)lw0_bits, lw0_width, lw0_height); *************** *** 902,905 **** --- 993,998 ---- choicePixmap[DRAWARC] = XCreateBitmapFromData(mainDisplay, mainWindow, (char *)arc_bits, arc_width, arc_height); + choicePixmap[DRAWEDGEARC] = XCreateBitmapFromData(mainDisplay, mainWindow, + (char *)arc_edge_bits, arc_edge_width, arc_edge_height); choicePixmap[DRAWRCBOX] = XCreateBitmapFromData(mainDisplay, mainWindow, (char *)rcbox_bits, rcbox_width, rcbox_height); *************** *** 1007,1010 **** --- 1100,1106 ---- XFreePixmap(mainDisplay, alignVertPixmap[i]); } + for (i = 0; i < MAXALIGNS*MAXALIGNS; i++) { + XFreePixmap(mainDisplay, distrDirectPixmap[i]); + } for (i = 0; i < MAXLINEWIDTHS; i++) { XFreePixmap(mainDisplay, defaultShortLineWidthPixmap[i]); *** setup.c.orig Thu Jan 21 23:22:16 1999 --- setup.c Thu Jan 21 23:22:16 1999 *************** *** 66,69 **** --- 66,70 ---- #include "names.e" #include "navigate.e" + #include "nkf.e" #include "page.e" #include "pattern.e" *************** *** 1699,1702 **** --- 1700,1707 ---- InitMiniLines(); + #ifndef _NO_NKF + InitNKF(); + #endif /* ~_NO_NKF */ + #ifdef _TANGRAM_II InitTangram2(); *** shortcut.c.orig Thu Jan 21 23:22:17 1999 --- shortcut.c Thu Jan 21 23:22:17 1999 *************** *** 163,166 **** --- 163,167 ---- { '\0', 0, "DrawCenterOval()", 0, CMDID_DRAWCENTEROVAL }, { '\0', 0, "DrawEdgeOval()", 0, CMDID_DRAWEDGEOVAL }, + { '\0', 0, "DrawEdgeArc()", 0, CMDID_DRAWEDGEARC }, { '\0', 0, "ScrollPageUp()", 0, CMDID_SCROLLPAGEUP }, { '\0', 0, "ScrollPageDown()", 0, CMDID_SCROLLPAGEDOWN }, *************** *** 346,349 **** --- 347,352 ---- { '\0', 0, "CopyPlainTextAsObject()", 0, CMDID_COPYPLAINTEXTASOBJECT }, { '\0', 0, "SetTextBackgroundColor()", 0, CMDID_SETTEXTBACKGROUNDCOLOR }, + { '\0', 0, "AlignDirect()", 0, CMDID_ALIGNDIRECT }, + { '\0', 0, "DistributeDirect()", 0, CMDID_DISTRIBUTEDIRECT }, { '\0', 0, "", 0, 0 } }; *** text.c.orig Thu Jan 21 23:22:19 1999 --- text.c Thu Jan 21 23:22:19 1999 *************** *** 436,439 **** --- 436,440 ---- text_ptr->min_lbearing = 0; text_ptr->max_rextra = 0; + text_ptr->baseline_y = textAbsBaselineY; curTextObj = (struct ObjRec *)malloc(sizeof(struct ObjRec)); *************** *** 615,618 **** --- 616,620 ---- RedrawCurText(); + UpdateTextInfoChoices(); } InvalidateTextCache(text_ptr); *************** *** 1372,1375 **** --- 1374,1378 ---- NewCurText(); RedrawCurText(); + UpdateTextInfoChoices(); CurFontMsg(FALSE, TRUE); PrepareToReplaceAnObj(curTextObj); *************** *** 1748,1751 **** --- 1751,1755 ---- UpdatePinnedMenu(MENU_EDIT); RedrawCurText(); + UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 1764,1767 **** --- 1768,1772 ---- UpdatePinnedMenu(MENU_EDIT); RedrawCurText(); + UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 1925,1928 **** --- 1930,1934 ---- for (pStrBlock=pRightStrBlock; pStrBlock != NULL; pStrBlock=pStrBlock->next) { + pNewMiniLine->last_block = pStrBlock; pStrBlock->owner_mini_line = pNewMiniLine; } *************** *** 1937,1943 **** --- 1943,1953 ---- void DoMoveTextCursorToNextMiniLine() { + int saved_text_highlight=textHighlight; MiniLineInfo *owner_mini_line=curStrBlock->owner_mini_line; MiniLinesInfo *owner_minilines=owner_mini_line->owner_minilines; + if (textCursorShown && !saved_text_highlight) { + EraseTextCursor(); + } if (owner_mini_line->next == NULL) { curStrBlock = owner_minilines->first->first_block; *************** *** 1951,1956 **** SetTextHighlight(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ! MarkRulers(textCurX, textCurY); ScrollTo(textCurX, textCurBaselineY); --- 1961,1970 ---- SetTextHighlight(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); MarkRulers(textCurX, textCurY); ScrollTo(textCurX, textCurBaselineY); *************** *** 2223,2226 **** --- 2237,2241 ---- if (!gnDontRedrawDuringPaste) { RedrawCurText(); + UpdateTextInfoChoices(); } while (XCheckWindowEvent(mainDisplay, drawWindow, KeyPressMask, &ev)) ; *************** *** 2291,2294 **** --- 2306,2310 ---- UpdatePinnedMenu(MENU_EDIT); RedrawCurText(); + UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 2324,2327 **** --- 2340,2348 ---- int drag; { + int saved_text_highlight=textHighlight; + + if (textCursorShown && !saved_text_highlight && !drag) { + EraseTextCursor(); + } ResetOnCursorKey(drag); *************** *** 2331,2335 **** FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ScrollTo(textCurX, textCurBaselineY); } --- 2352,2361 ---- FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight && !drag) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 2370,2373 **** --- 2396,2404 ---- int drag; { + int saved_text_highlight=textHighlight; + + if (textCursorShown && !saved_text_highlight && !drag) { + EraseTextCursor(); + } ResetOnCursorKey(drag); *************** *** 2377,2381 **** FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ScrollTo(textCurX, textCurBaselineY); } --- 2408,2417 ---- FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight && !drag) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 2397,2400 **** --- 2433,2441 ---- void DoMoveTextCursorIntoLeftScripts() { + int saved_text_highlight=textHighlight; + + if (textCursorShown && !saved_text_highlight) { + EraseTextCursor(); + } curStrBlock = curStrBlock->prev->sup->first->last_block; *************** *** 2404,2409 **** SetTextHighlight(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ! MarkRulers(textCurX, textCurY); ScrollTo(textCurX, textCurBaselineY); --- 2445,2454 ---- SetTextHighlight(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); MarkRulers(textCurX, textCurY); ScrollTo(textCurX, textCurBaselineY); *************** *** 2414,2417 **** --- 2459,2463 ---- XKeyEvent *key_ev; { + int saved_text_highlight=textHighlight; int cycle=((key_ev->state & ControlMask) != 0); int drag=((key_ev->state & ShiftMask) != 0); *************** *** 2423,2426 **** --- 2469,2475 ---- return; } + if (textCursorShown && !saved_text_highlight && !drag) { + EraseTextCursor(); + } ResetOnCursorKey(drag); *************** *** 2430,2434 **** FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ScrollTo(textCurX, textCurBaselineY); } --- 2479,2488 ---- FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight && !drag) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 2444,2450 **** --- 2498,2508 ---- int direction; { + int saved_text_highlight=textHighlight; MiniLinesInfo *pOwnerMinilines=NULL; StrBlockInfo *pOwnerStrBlock=NULL; + if (textCursorShown && !saved_text_highlight) { + EraseTextCursor(); + } ResetOnCursorKey(FALSE); *************** *** 2462,2465 **** --- 2520,2526 ---- curStrBlock = pOwnerStrBlock->sup->first->first_block; } else { + if (textCursorShown && !saved_text_highlight) { + PutTextCursor(); + } return; } *************** *** 2479,2482 **** --- 2540,2546 ---- } } else { + if (textCursorShown && !saved_text_highlight) { + PutTextCursor(); + } return; } *************** *** 2485,2491 **** break; ! case SB_CHAR_SPACE: /* not possible */ return; ! case SB_SUPSUB_LEFT: /* not possible */ return; ! case SB_SUPSUB_RIGHT: /* not possible */ return; case SB_SUPSUB_CENTER: --- 2549,2559 ---- break; ! case SB_CHAR_SPACE: /* not possible */ ! case SB_SUPSUB_LEFT: /* not possible */ ! case SB_SUPSUB_RIGHT: /* not possible */ ! if (textCursorShown && !saved_text_highlight) { ! PutTextCursor(); ! } ! return; case SB_SUPSUB_CENTER: *************** *** 2497,2500 **** --- 2565,2571 ---- } } else { + if (textCursorShown && !saved_text_highlight) { + PutTextCursor(); + } return; } *************** *** 2505,2510 **** SetTextHighlight(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ! MarkRulers(textCurX, textCurY); ScrollTo(textCurX, textCurBaselineY); --- 2576,2585 ---- SetTextHighlight(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); MarkRulers(textCurX, textCurY); ScrollTo(textCurX, textCurBaselineY); *************** *** 2515,2518 **** --- 2590,2594 ---- XKeyEvent *key_ev; { + int saved_text_highlight=textHighlight; int cycle=((key_ev->state & ControlMask) != 0); int drag=((key_ev->state & ShiftMask) != 0), new_x_off=0, new_y_off=0; *************** *** 2524,2527 **** --- 2600,2606 ---- return; } + if (textCursorShown && !saved_text_highlight && !drag) { + EraseTextCursor(); + } ResetOnCursorKey(drag); *************** *** 2553,2557 **** FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ScrollTo(textCurX, textCurBaselineY); } --- 2632,2641 ---- FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight && !drag) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 2574,2577 **** --- 2658,2666 ---- void DoMoveTextCursorIntoRightScripts() { + int saved_text_highlight=textHighlight; + + if (textCursorShown && !saved_text_highlight) { + EraseTextCursor(); + } curStrBlock = curStrBlock->next->sup->first->first_block; *************** *** 2581,2586 **** SetTextHighlight(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ! MarkRulers(textCurX, textCurY); ScrollTo(textCurX, textCurBaselineY); --- 2670,2679 ---- SetTextHighlight(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); MarkRulers(textCurX, textCurY); ScrollTo(textCurX, textCurBaselineY); *************** *** 2591,2594 **** --- 2684,2688 ---- XKeyEvent *key_ev; { + int saved_text_highlight=textHighlight; int cycle=((key_ev->state & ControlMask) != 0); int drag=((key_ev->state & ShiftMask) != 0); *************** *** 2600,2603 **** --- 2694,2700 ---- return; } + if (textCursorShown && !saved_text_highlight && !drag) { + EraseTextCursor(); + } ResetOnCursorKey(drag); *************** *** 2607,2611 **** FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ScrollTo(textCurX, textCurBaselineY); } --- 2704,2713 ---- FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight && !drag) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 2615,2618 **** --- 2717,2721 ---- XKeyEvent *key_ev; { + int saved_text_highlight=textHighlight; int cycle=((key_ev->state & ControlMask) != 0); int drag=((key_ev->state & ShiftMask) != 0), new_x_off=0, new_y_off=0; *************** *** 2624,2627 **** --- 2727,2733 ---- return; } + if (textCursorShown && !saved_text_highlight && !drag) { + EraseTextCursor(); + } ResetOnCursorKey(drag); *************** *** 2657,2661 **** FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! RedrawCurText(); ScrollTo(textCurX, textCurBaselineY); } --- 2763,2772 ---- FixHighlightedStrBlockDepths(); UpdatePinnedMenu(MENU_EDIT); ! if (textCursorShown && !saved_text_highlight && !drag) { ! PutTextCursor(); ! } else { ! RedrawCurText(); ! } ! UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 2662,2666 **** static ! void HandleInputFromBuffer(cut_buffer) char *cut_buffer; { --- 2773,2777 ---- static ! void DoHandleInputFromBuffer(cut_buffer) char *cut_buffer; { *************** *** 2720,2723 **** --- 2831,2867 ---- } + static + void HandleInputFromBuffer(cut_buffer) + char *cut_buffer; + { + if (cut_buffer == NULL || *cut_buffer == '\0') return; + + SaveStatusStrings(); + gnPastingLineNum = 0; + gnDontRedrawDuringPaste = TRUE; + + DoHandleInputFromBuffer(cut_buffer); + + gnDontRedrawDuringPaste = FALSE; + RestoreStatusStrings(); + + UpdTextBBox(curTextObj); + SetTextCurXY(); + if (textHighlight) SetTextEndXY(); + UpdateEditTextArea( + curTextObj->detail.t->minilines.w, + curTextObj->detail.t->minilines.h, + curTextObj->detail.t->minilines.min_lbearing, + curTextObj->detail.t->minilines.max_rextra); + + RedrawCurText(); + UpdateTextInfoChoices(); + ScrollTo(textCurX, textCurBaselineY); + MarkRulers(textCurX, textCurY); + SetFileModified(TRUE); + + return; + } + void HandleTextFromBuffer(key_ev, s, key_sym, has_ch) XKeyEvent *key_ev; *************** *** 2824,2828 **** } if (textCursorShown) { - PutTextCursor(); MarkRulers(textCurX, textCurY); if (!cursor_key) SetFileModified(TRUE); --- 2968,2971 ---- *************** *** 2917,2945 **** Msg("An key press is ignored."); } - SaveStatusStrings(); - gnPastingLineNum = 0; - gnDontRedrawDuringPaste = TRUE; - HandleInputFromBuffer(cut_buffer); ! gnDontRedrawDuringPaste = FALSE; ! RestoreStatusStrings(); ! ! sprintf(gszMsgBox, "%1d lines pasted.", gnPastingLineNum); ! Msg(gszMsgBox); ! ! UpdTextBBox(curTextObj); ! SetTextCurXY(); ! if (textHighlight) SetTextEndXY(); ! UpdateEditTextArea( ! curTextObj->detail.t->minilines.w, ! curTextObj->detail.t->minilines.h, ! curTextObj->detail.t->minilines.min_lbearing, ! curTextObj->detail.t->minilines.max_rextra); ! ! RedrawCurText(); ! ScrollTo(textCurX, textCurBaselineY); ! MarkRulers(textCurX, textCurY); ! SetFileModified(TRUE); if (xfree_cut_buffer) { XFree(cut_buffer); --- 3060,3069 ---- Msg("An key press is ignored."); } HandleInputFromBuffer(cut_buffer); ! if (gnPastingLineNum > 0) { ! sprintf(gszMsgBox, "%1d lines pasted.", gnPastingLineNum); ! Msg(gszMsgBox); ! } if (xfree_cut_buffer) { XFree(cut_buffer); *************** *** 3019,3023 **** HandleInputFromBuffer(psz_buf); free(psz_buf); - SetFileModified(TRUE); } } --- 3143,3146 ---- *************** *** 3104,3107 **** --- 3227,3231 ---- UpdatePinnedMenu(MENU_EDIT); RedrawCurText(); + UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); *************** *** 3837,3840 **** --- 3961,3969 ---- break; } + if (pMiniLine->first_block == NULL) { + StrBlockInfo *pStrBlock=CreateStrBlockFromString("", pMiniLine); + + pMiniLine->first_block = pMiniLine->last_block = pStrBlock; + } InsertMiniLine(pLastMiniLine, NULL, pMiniLine, &pFirstMiniLine, &pLastMiniLine); *************** *** 4873,4876 **** --- 5002,5006 ---- SetTextEndXY(); RedrawCurText(); + UpdateTextInfoChoices(); } *************** *** 4910,4913 **** --- 5040,5044 ---- UpdatePinnedMenu(MENU_EDIT); RedrawCurText(); + UpdateTextInfoChoices(); ScrollTo(textCurX, textCurBaselineY); } *************** *** 5737,5740 **** --- 5868,5877 ---- curStrBlock->seg->double_byte != IsFontDoubleByte(nValue)) { pNewStrBlock->seg->double_byte = IsFontDoubleByte(nValue); + if (pNewStrBlock->seg->double_byte) { + pNewStrBlock->seg->double_byte_vertical = + IsDoubleByteFontVertical(nValue, pNewStrBlock->seg->style); + } else { + pNewStrBlock->seg->double_byte_vertical = FALSE; + } } if (!SetStrSegProperty(lWhich, nValue, pNewStrBlock->seg)) { *************** *** 5816,5819 **** --- 5953,5958 ---- } else { int saved_double_byte=INVALID; + int saved_double_byte_vertical=INVALID; + int saved_double_byte_mod_bytes=INVALID; if (lWhich == PROP_MASK_TEXT_FONT && *************** *** 5820,5823 **** --- 5959,5965 ---- curStrBlock->seg->double_byte != IsFontDoubleByte(nValue)) { saved_double_byte = curStrBlock->seg->double_byte; + saved_double_byte_vertical = curStrBlock->seg->double_byte_vertical; + saved_double_byte_mod_bytes = + curStrBlock->seg->double_byte_mod_bytes; curStrBlock->seg->double_byte = IsFontDoubleByte(nValue); } *************** *** 5825,5828 **** --- 5967,5973 ---- if (!changed && saved_double_byte != INVALID) { curStrBlock->seg->double_byte = saved_double_byte; + curStrBlock->seg->double_byte_vertical = saved_double_byte_vertical; + curStrBlock->seg->double_byte_mod_bytes = + saved_double_byte_mod_bytes; } } *************** *** 5836,5839 **** --- 5981,5986 ---- } else if (textCurIndex == 0 && curStrBlock->seg->dyn_str.sz == 1) { int saved_double_byte=INVALID; + int saved_double_byte_vertical=INVALID; + int saved_double_byte_mod_bytes=INVALID; if (lWhich == PROP_MASK_TEXT_FONT && *************** *** 5840,5843 **** --- 5987,5994 ---- curStrBlock->seg->double_byte != IsFontDoubleByte(nValue)) { saved_double_byte = curStrBlock->seg->double_byte; + saved_double_byte_vertical = + curStrBlock->seg->double_byte_vertical; + saved_double_byte_mod_bytes = + curStrBlock->seg->double_byte_mod_bytes; curStrBlock->seg->double_byte = IsFontDoubleByte(nValue); } *************** *** 5845,5848 **** --- 5996,6003 ---- if (!changed && saved_double_byte != INVALID) { curStrBlock->seg->double_byte = saved_double_byte; + curStrBlock->seg->double_byte_vertical = + saved_double_byte_vertical; + curStrBlock->seg->double_byte_mod_bytes = + saved_double_byte_mod_bytes; } } else { *************** *** 5955,5964 **** ScrollTo(textCurX, textCurBaselineY); ! for (src_mini_line=src_minilines->first; src_mini_line != NULL; ! src_mini_line=next_mini_line) { ! next_mini_line = src_mini_line->next; ! free(src_mini_line); } - src_minilines->first = src_minilines->last = NULL; } --- 6110,6120 ---- ScrollTo(textCurX, textCurBaselineY); ! if (src_minilines->first != NULL) { ! if (src_minilines->first != src_minilines->last) { ! free(src_minilines->last); ! } ! free(src_minilines->first); ! src_minilines->first = src_minilines->last = NULL; } } *** align.e.orig Thu Jan 21 23:22:22 1999 --- align.e Thu Jan 21 23:22:22 1999 *************** *** 38,41 **** --- 38,43 ---- extern int vertAlign; + extern int alignDirectType; + #ifdef _INCLUDE_FROM_ALIGN_C_ #undef extern *************** *** 44,47 **** --- 46,52 ---- extern void DistrSelObjs ARGS_DECL((void)); + extern void DistributeDirect ARGS_DECL((int)); + extern TgMenu *CreateDistributeDirectMenu ARGS_DECL((TgMenu*, int X, int Y, + TgMenuInfo*)); extern void AlignSelObjs ARGS_DECL((void)); extern void AlignSelToPage ARGS_DECL((void)); *************** *** 57,60 **** --- 62,72 ---- TgMenuInfo*)); extern int VertAlignMenu ARGS_DECL((int X, int Y, int TrackMenubar)); + extern void AlignDirect ARGS_DECL((int)); + extern TgMenu *CreateAlignObjsDirectMenu ARGS_DECL((TgMenu*, int X, int Y, + TgMenuInfo*)); + extern TgMenu *CreateAlignToGridDirectMenu ARGS_DECL((TgMenu*, int X, int Y, + TgMenuInfo*)); + extern TgMenu *CreateAlignToPageDirectMenu ARGS_DECL((TgMenu*, int X, int Y, + TgMenuInfo*)); extern void CenterAnEndPoint ARGS_DECL((void)); *** attr.e.orig Thu Jan 21 23:22:23 1999 --- attr.e Thu Jan 21 23:22:23 1999 *************** *** 46,50 **** extern void FreeAttr ARGS_DECL((struct AttrRec *)); extern void UnlinkAttr ARGS_DECL((struct AttrRec *)); - extern int AttrNameWidth ARGS_DECL((struct AttrRec *)); extern void UpdateAttr ARGS_DECL((struct TextRec *, struct AttrRec *)); extern void DrawAttrs ARGS_DECL((Window, int X, int Y, struct AttrRec *)); --- 46,49 ---- *** font.e.orig Thu Jan 21 23:22:24 1999 --- font.e Thu Jan 21 23:22:24 1999 *************** *** 114,117 **** --- 114,118 ---- extern int IsFontDoubleByte ARGS_DECL((int font_index)); + extern int IsDoubleByteFontVertical ARGS_DECL((int font_index, int style)); extern int SzUnitToFontSize ARGS_DECL((int sz_unit)); extern int SzUnitToPointSize ARGS_DECL((int sz_unit)); *** miniline.e.orig Thu Jan 21 23:22:25 1999 --- miniline.e Thu Jan 21 23:22:25 1999 *************** *** 160,163 **** --- 160,164 ---- extern void ResetOnCursorKey ARGS_DECL((int drag)); extern void PutTextCursor ARGS_DECL((void)); + extern void EraseTextCursor ARGS_DECL((void)); extern void GetCurTextBBoxes ARGS_DECL((struct BBRec *pOBBox, struct BBRec *pBBox)); *** raster.e.orig Thu Jan 21 23:22:26 1999 --- raster.e Thu Jan 21 23:22:26 1999 *************** *** 58,61 **** --- 58,63 ---- extern Pixmap alignHoriPixmap[]; extern Pixmap alignVertPixmap[]; + extern Pixmap alignDirectPixmap[]; + extern Pixmap distrDirectPixmap[]; extern Pixmap filePixmap; extern Pixmap landscapePixmap; *** cmdids.h.orig Thu Jan 21 23:22:27 1999 --- cmdids.h Thu Jan 21 23:22:27 1999 *************** *** 345,350 **** #define CMDID_COPYPLAINTEXTASOBJECT 393 #define CMDID_SETTEXTBACKGROUNDCOLOR 394 ! #define MAXCMDIDS 395 #endif /*_CMDIDS_H_*/ --- 345,353 ---- #define CMDID_COPYPLAINTEXTASOBJECT 393 #define CMDID_SETTEXTBACKGROUNDCOLOR 394 + #define CMDID_DRAWEDGEARC 395 + #define CMDID_ALIGNDIRECT 396 + #define CMDID_DISTRIBUTEDIRECT 397 ! #define MAXCMDIDS 398 #endif /*_CMDIDS_H_*/ *** const.h.orig Thu Jan 21 23:22:28 1999 --- const.h Thu Jan 21 23:22:28 1999 *************** *** 230,239 **** #define DRAWPOLYGON 7 #define DRAWARC 8 ! #define DRAWRCBOX 9 ! #define FREEHAND 10 ! #define VERTEXMODE 11 ! #define ROTATEMODE 12 ! #define MAXCHOICES 13 /* stipple patterns */ --- 230,240 ---- #define DRAWPOLYGON 7 #define DRAWARC 8 ! #define DRAWEDGEARC 9 ! #define DRAWRCBOX 10 ! #define FREEHAND 11 ! #define VERTEXMODE 12 ! #define ROTATEMODE 13 ! #define MAXCHOICES 14 /* stipple patterns */ *************** *** 395,398 **** --- 396,403 ---- #define ALIGN_SS ((ALIGN_S<= 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, --- 933,937 ---- current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion =< 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, *************** *** 960,963 **** --- 960,996 ---- ), tgif_attrs(AttrList). + % + % Note: FileVersions 34, 35, and 36 are skipped. See check_file_version/1. + % + tgif_box(Obj,Parms) :- + current_predicate(tgif_file_version,tgif_file_version(_)), + tgif_file_version(FileVersion), + FileVersion >= 37, !, + ( var(Obj) -> OutputObj = true ; OutputObj = false ), + ( _Transformed = 0, + Obj = box(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat, + _Id,_Dash,_Rotation,_Locked,_Transformed,_Invisible, + _LineWidthSpec,_TransPat,AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,line_width=_LineWidth,pen_pat=_PenPat, + id=_Id,line_dash=_Dash,rotation=_Rotation, + obj_locked=_Locked,transformed=_Transformed, + invisible=_Invisible,line_width_spec=_LineWidthSpec, + trans_pat=_TransPat,attrs=AttrList] + | _Transformed = 1, + Obj = box(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat, + _Id,_Dash,_Rotation,_Locked,_Transformed,_Invisible, + _LineWidthSpec,_TransPat,TransformSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,line_width=_LineWidth,pen_pat=_PenPat, + id=_Id,line_dash=_Dash,rotation=_Rotation, + obj_locked=_Locked,transformed=_Transformed, + invisible=_Invisible,line_width_spec=_LineWidthSpec, + trans_pat=_TransPat,transform_spec=TransformParms,attrs=AttrList] + ), + tgif_attrs(AttrList). % --------------------------------------------------------------------- % *************** *** 1029,1033 **** current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion >= 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, --- 1062,1066 ---- current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion =< 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, *************** *** 1059,1062 **** --- 1092,1131 ---- ), tgif_attrs(AttrList). + % + % Note: FileVersions 34, 35, and 36 are skipped. See check_file_version/1. + % + tgif_oval(Obj,Parms) :- + current_predicate(tgif_file_version,tgif_file_version(_)), + tgif_file_version(FileVersion), + FileVersion >= 37, !, + ( var(Obj) -> OutputObj = true ; OutputObj = false ), + ( _Transformed = 0, + Obj = oval(_Color,_BgColor,_LeftTopX,_LeftTopY,_RightBotX,_RightBotY, + _ObjFill,_LineWidth,_PenPat,_Id,_Dash,_Rotation, + _Locked,_Transformed,_Invisible,_LineWidthSpec,_TransPat, + AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,bg_color=_BgColor,ltx=_LeftTopX,lty=_LeftTopY, + rbx=_RightBotX,rby=_RightBotY,obj_fill=_ObjFill, + line_width=_LineWidth,pen_pat=_PenPat,id=_Id, + line_dash=_Dash,rotation=_Rotation,obj_locked=_Locked, + transformed=_Transformed,invisible=_Invisible, + line_width_spec=_LineWidthSpec,trans_pat=_TransPat,attrs=AttrList] + | _Transformed = 1, + Obj = oval(_Color,_BgColor,_LeftTopX,_LeftTopY,_RightBotX,_RightBotY, + _ObjFill,_LineWidth,_PenPat,_Id,_Dash,_Rotation, + _Locked,_Transformed,_Invisible,_LineWidthSpec,_TransPat, + TransformSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,bg_color=_BgColor,ltx=_LeftTopX,lty=_LeftTopY, + rbx=_RightBotX,rby=_RightBotY,obj_fill=_ObjFill, + line_width=_LineWidth,pen_pat=_PenPat,id=_Id, + line_dash=_Dash,rotation=_Rotation,obj_locked=_Locked, + transformed=_Transformed,invisible=_Invisible, + line_width_spec=_LineWidthSpec,trans_pat=_TransPat, + transform_spec=TransformParms,attrs=AttrList] + ), + tgif_attrs(AttrList). % --------------------------------------------------------------------- % *************** *** 1171,1175 **** current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion >= 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, --- 1240,1244 ---- current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion =< 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, *************** *** 1211,1214 **** --- 1280,1324 ---- ), tgif_attrs(AttrList). + % + % Note: FileVersions 34, 35, and 36 are skipped. See check_file_version/1. + % + tgif_poly(Obj,Parms) :- + current_predicate(tgif_file_version,tgif_file_version(_)), + tgif_file_version(FileVersion), + FileVersion >= 37, !, + ( var(Obj) -> OutputObj = true ; OutputObj = false ), + ( _Transformed = 0, + Obj = poly(_Color,_BgColor,_NumVs,_Vs,_LineStyle,_LineWidth,_PenPat,_Id, + _Spline,_ObjFill,_Dash,_Rotation,_Locked,_Transformed,_Invisible, + _LineWidthSpec,_TransPat,_LineCap, + _SmoothSpecStr,_TensionSpec,LeftArrowSpec,RightArrowSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,bg_color=_BgColor,num_vs=_NumVs,vs=_Vs, + line_style=_LineStyle,line_width=_LineWidth, + pen_pat=_PenPat,id=_Id,line_type=_Spilne, + obj_fill=_ObjFill,line_dash=_Dash,rotation=_Rotation, + obj_locked=_Locked,transformed=_Transformed, + invisible=_Invisible,line_width_spec=_LineWidthSpec, + smooth_spec=_SmoothSpecStr,attrs=AttrList] + | _Transformed = 1, + Obj = poly(_Color,_BgColor,_NumVs,_Vs,_LineStyle,_LineWidth,_PenPat,_Id, + _Spline,_ObjFill,_Dash,_Rotation,_Locked,_Transformed,_Invisible, + _LineWidthSpec,_TransPat,_LineCap, + _SmoothSpecStr,_TensionSpec,LeftArrowSpec,RightArrowSpec, + TransformSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,bg_color=_BgColor,num_vs=_NumVs,vs=_Vs, + line_style=_LineStyle,line_width=_LineWidth, + pen_pat=_PenPat,id=_Id,line_type=_Spilne, + obj_fill=_ObjFill,line_dash=_Dash,rotation=_Rotation, + obj_locked=_Locked,transformed=_Transformed, + invisible=_Invisible,line_width_spec=_LineWidthSpec, + smooth_spec=_SmoothSpecStr, + transform_spec=TransformParms,attrs=AttrList] + ), + tgif_arrow(LeftArrowSpec), + tgif_arrow(RightArrowSpec), + tgif_attrs(AttrList). % --------------------------------------------------------------------- % *************** *** 1299,1303 **** current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion >= 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, --- 1409,1413 ---- current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion =< 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, *************** *** 1331,1334 **** --- 1441,1482 ---- ), tgif_attrs(AttrList). + % + % Note: FileVersions 34, 35, and 36 are skipped. See check_file_version/1. + % + tgif_polygon(Obj,Parms) :- + current_predicate(tgif_file_version,tgif_file_version(_)), + tgif_file_version(FileVersion), + FileVersion >= 37, !, + ( var(Obj) -> OutputObj = true ; OutputObj = false ), + ( _Transformed = 0, + Obj = polygon(_Color,_BgColor,_NumVs,_Vs,_ObjFill,_LineWidth,_PenPat, + _Spline,_Id,_Dash,_Rotation,_Locked,_Transformed, + _Invisible,_LineWidthSpec,_TransPat,_SmoothSpecStr, + AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,bg_color=_BgColor,num_vs=_NumVs,vs=_Vs, + obj_fill=_ObjFill,line_width=_LineWidth,pen_pat=_PenPat, + line_type=_Spline,id=_Id,line_dash=_Dash, + rotation=_Rotation,obj_locked=_Locked, + transformed=_Transformed,invisible=_Invisible, + line_width_spec=_LineWidthSpec,trans_pat=_TransPat, + smooth_spec=_SmoothSpecStr,attrs=AttrList] + | _Transformed = 1, + Obj = polygon(_Color,_BgColor,_NumVs,_Vs,_ObjFill,_LineWidth,_PenPat, + _Spline,_Id,_Dash,_Rotation,_Locked,_Transformed, + _Invisible,_LineWidthSpec,_TransPat,_SmoothSpecStr,TransformSpec, + AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,bg_color=_BgColor,num_vs=_NumVs,vs=_Vs, + obj_fill=_ObjFill,line_width=_LineWidth,pen_pat=_PenPat, + line_type=_Spline,id=_Id,line_dash=_Dash, + rotation=_Rotation,obj_locked=_Locked, + transformed=_Transformed,invisible=_Invisible, + line_width_spec=_LineWidthSpec,trans_pat=_TransPat, + smooth_spec=_SmoothSpecStr, + transform_spec=TransformParms,attrs=AttrList] + ), + tgif_attrs(AttrList). % --------------------------------------------------------------------- % *************** *** 1377,1381 **** current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion >= 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, --- 1525,1529 ---- current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion =< 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, *************** *** 1404,1407 **** --- 1552,1588 ---- ), tgif_attrs(AttrList). + % + % Note: FileVersions 34, 35, and 36 are skipped. See check_file_version/1. + % + tgif_rcbox(Obj,Parms) :- + current_predicate(tgif_file_version,tgif_file_version(_)), + tgif_file_version(FileVersion), + FileVersion >= 37, !, + ( var(Obj) -> OutputObj = true ; OutputObj = false ), + ( _Transformed = 0, + Obj = rcbox(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat, + _Dash,_Radius,_Id,_Rotation,_Locked,_Transformed, + _Invisible,_LineWidthSpec,_TransPat,AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,line_width=_LineWidth,pen_pat=_PenPat, + line_dash=_Dash,radius=_Radius,id=_Id,rotation=_Rotation, + obj_locked=_Locked,transformed=_Transformed, + invisible=_Invisible,line_width_spec=_LineWidthSpec, + trans_pat=_TransPat,attrs=AttrList] + | _Transformed = 1, + Obj = rcbox(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat, + _Dash,_Radius,_Id,_Rotation,_Locked,_Transformed, + _Invisible,_LineWidthSpec,_TransPat,TransformSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,line_width=_LineWidth,pen_pat=_PenPat, + line_dash=_Dash,radius=_Radius,id=_Id,rotation=_Rotation, + obj_locked=_Locked,transformed=_Transformed, + invisible=_Invisible,line_width_spec=_LineWidthSpec, + trans_pat=_TransPat,transform_spec=TransformParms,attrs=AttrList] + ), + tgif_attrs(AttrList). % --------------------------------------------------------------------- % *************** *** 1490,1494 **** current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion >= 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, --- 1671,1675 ---- current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion =< 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, *************** *** 1532,1535 **** --- 1713,1765 ---- ), tgif_attrs(AttrList). + % + % Note: FileVersions 34, 35, and 36 are skipped. See check_file_version/1. + % + tgif_arc(Obj,Parms) :- + current_predicate(tgif_file_version,tgif_file_version(_)), + tgif_file_version(FileVersion), + FileVersion >= 37, !, + ( var(Obj) -> OutputObj = true ; OutputObj = false ), + ( _Transformed = 0, + Obj = arc(_Color,_BgColor,_ObjFill,_LineWidth,_PenPat,_Dash,_LtX,_LtY, + _Xc,_Yc,_X1,_Y1,_X2,_Y2,_Dir,_W,_H,_Angle1,_Angle2,_Id, + _Rotation,_Style,_ArrowHeadW,_ArrowHeadH,_Locked, + _Transformed,_Invisible,_LineWidthSpec,_ArrowHeadWSpec, + _ArrowHeadHSpec,_TransPat,AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,bg_color=_BgColor,obj_fill=_ObjFill, + line_width=_LineWidth,pen_pat=_PenPat,line_dash=_Dash, + ltx=_LtX,lty=_LtY,xc=_Xc,yc=_Yc,x1=_X1,y1=_Y1,x2=_X2,y2=_Y2, + clock_wise=_Dir,major_axis=_W,minor_axis_H, + angle1=_Angle1,angle2=_Angle2,id=_Id,rotation=_Rotation, + line_style=_Style,arrow_head_w=_ArrowHeadW, + arrow_head_h=_ArrowHeadH,obj_locked=_Locked, + transformed=_Transformed, + invisible=_Invisible,line_width_spec=_LineWidthSpec, + arrow_head_w_spec=_ArrowHeadWSpec, + arrow_head_h_spec=_ArrowHeadHSpec,trans_pat=_TransPat, + attrs=AttrList] + | _Transformed = 1, + Obj = arc(_Color,_BgColor,_ObjFill,_LineWidth,_PenPat,_Dash,_LtX,_LtY, + _Xc,_Yc,_X1,_Y1,_X2,_Y2,_Dir,_W,_H,_Angle1,_Angle2,_Id, + _Rotation,_Style,_ArrowHeadW,_ArrowHeadH,_Locked, + _Transformed,_Invisible,_LineWidthSpec,_ArrowHeadWSpec, + _ArrowHeadHSpec,_TransPat,TransformSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,bg_color=_BgColor,obj_fill=_ObjFill, + line_width=_LineWidth,pen_pat=_PenPat,line_dash=_Dash, + ltx=_LtX,lty=_LtY,xc=_Xc,yc=_Yc,x1=_X1,y1=_Y1,x2=_X2,y2=_Y2, + clock_wise=_Dir,major_axis=_W,minor_axis_H, + angle1=_Angle1,angle2=_Angle2,id=_Id,rotation=_Rotation, + line_style=_Style,arrow_head_w=_ArrowHeadW, + arrow_head_h=_ArrowHeadH,obj_locked=_Locked, + transformed=_Transformed, + invisible=_Invisible,line_width_spec=_LineWidthSpec, + arrow_head_w_spec=_ArrowHeadWSpec, + arrow_head_h_spec=_ArrowHeadHSpec,trans_pat=_TransPat, + transform_spec=TransformParms,attrs=AttrList] + ), + tgif_attrs(AttrList). % --------------------------------------------------------------------- % *************** *** 1717,1721 **** current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion >= 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _RealType = 0, _NoBitmap = 0, _SaveEPSF = 0, _Transformed = 0, --- 1947,1951 ---- current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion =< 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _RealType = 0, _NoBitmap = 0, _SaveEPSF = 0, _Transformed = 0, *************** *** 1794,1798 **** _Date,_File,_BitmapStr,TransformSpec,AttrList), tgif_chk_output(OutputObj,Obj), ! tgif_text_transform_spec(TransformSpec,TransformParms), Parms = [color=_Color,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, obj_fill=_ObjFill,id=_Id,rotation=_Rotation, --- 2024,2028 ---- _Date,_File,_BitmapStr,TransformSpec,AttrList), tgif_chk_output(OutputObj,Obj), ! tgif_obj_transform_spec(TransformSpec,TransformParms), Parms = [color=_Color,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, obj_fill=_ObjFill,id=_Id,rotation=_Rotation, *************** *** 1812,1816 **** _Date,_File,_BitmapStr,TransformSpec,AttrList), tgif_chk_output(OutputObj,Obj), ! tgif_text_transform_spec(TransformSpec,TransformParms), Parms = [color=_Color,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, obj_fill=_ObjFill,id=_Id,rotation=_Rotation, --- 2042,2046 ---- _Date,_File,_BitmapStr,TransformSpec,AttrList), tgif_chk_output(OutputObj,Obj), ! tgif_obj_transform_spec(TransformSpec,TransformParms), Parms = [color=_Color,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, obj_fill=_ObjFill,id=_Id,rotation=_Rotation, *************** *** 1830,1834 **** _Date,_File,TransformSpec,AttrList), tgif_chk_output(OutputObj,Obj), ! tgif_text_transform_spec(TransformSpec,TransformParms), Parms = [color=_Color,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, obj_fill=_ObjFill,id=_Id,rotation=_Rotation, --- 2060,2064 ---- _Date,_File,TransformSpec,AttrList), tgif_chk_output(OutputObj,Obj), ! tgif_obj_transform_spec(TransformSpec,TransformParms), Parms = [color=_Color,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, obj_fill=_ObjFill,id=_Id,rotation=_Rotation, *************** *** 1849,1853 **** TransformSpec,AttrList), tgif_chk_output(OutputObj,Obj), ! tgif_text_transform_spec(TransformSpec,TransformParms), length(_EPSFLines,_NumEPSFLines), Parms = [color=_Color,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, --- 2079,2083 ---- TransformSpec,AttrList), tgif_chk_output(OutputObj,Obj), ! tgif_obj_transform_spec(TransformSpec,TransformParms), length(_EPSFLines,_NumEPSFLines), Parms = [color=_Color,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, *************** *** 1863,1866 **** --- 2093,2248 ---- ), tgif_attrs(AttrList). + % + % Note: FileVersions 34, 35, and 36 are skipped. See check_file_version/1. + % + tgif_xbm(Obj,Parms) :- + current_predicate(tgif_file_version,tgif_file_version(_)), + tgif_file_version(FileVersion), + FileVersion >= 37, !, + ( var(Obj) -> OutputObj = true ; OutputObj = false ), + ( _RealType = 0, _NoBitmap = 0, _SaveEPSF = 0, _Transformed = 0, + % Just XBM + Obj = xbm(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_RealType,_LLX,_LLY, + _URX,_URY,_NoBitmap,_Locked,_SaveEPSF, + _Compressed,_Transformed,_Invisible,_TransPat, + _Date,_File,_BitmapStr,AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,id=_Id,rotation=_Rotation, + image_w=_ImageW,image_h=_ImageH,rotate=_Rotate, + flip=_Flip,real_type='xbm',llx=_LLX,lly=_LLY, + urx=_URX,ury=_URY,no_bitmap=_NoBitmap,obj_locked=_Locked, + save_epsf=_SaveEPSF,compressed=_Compressed, + transformed=_Transformed,invisible=_Invisible,trans_pat=_TransPat, + date=_Date,file=_File,xbm_str=_BitmapStr,attrs=AttrList] + | _RealType = 1, _NoBitmap = 0, _SaveEPSF = 0, _Transformed = 0, + % What type is this? + Obj = xbm(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_RealType,_LLX,_LLY, + _URX,_URY,_NoBitmap,_Locked,_SaveEPSF, + _Compressed,_Transformed,_Invisible,_TransPat, + _Date,_File,_BitmapStr,AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,id=_Id,rotation=_Rotation, + image_w=_ImageW,image_h=_ImageH,rotate=_Rotate, + flip=_Flip,real_type='eps',llx=_LLX,lly=_LLY, + urx=_URX,ury=_URY,no_bitmap=_NoBitmap,obj_locked=_Locked, + save_epsf=_SaveEPSF,compressed=_Compressed, + transformed=_Transformed,invisible=_Invisible,trans_pat=_TransPat, + date=_Date,file=_File,xbm_str=_BitmapStr,attrs=AttrList] + | _RealType = 1, _NoBitmap = 1, _SaveEPSF = 0, _Transformed = 0, + % Linked EPS + Obj = xbm(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_RealType,_LLX,_LLY, + _URX,_URY,_NoBitmap,_Locked,_SaveEPSF, + _Compressed,_Transformed,_Invisible,_TransPat, + _Date,_File,AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,id=_Id,rotation=_Rotation, + image_w=_ImageW,image_h=_ImageH,rotate=_Rotate, + flip=_Flip,real_type='eps',llx=_LLX,lly=_LLY, + urx=_URX,ury=_URY,no_bitmap=_NoBitmap,obj_locked=_Locked, + save_epsf=_SaveEPSF,compressed=_Compressed, + transformed=_Transformed,invisible=_Invisible,trans_pat=_TransPat, + date=_Date,file=_File,attrs=AttrList] + | _RealType = 1, _NoBitmap = 0, _SaveEPSF = 1, _Transformed = 0, + % Embeded EPS + Obj = xbm(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_RealType,_LLX,_LLY, + _URX,_URY,_NoBitmap,_Locked,_SaveEPSF, + _Compressed,_Transformed,_Invisible,_TransPat, + _Date,_File,_NumEPSFLines,_EPSFLines,_BitmapStr, + AttrList), + tgif_chk_output(OutputObj,Obj), + length(_EPSFLines,_NumEPSFLines), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,id=_Id,rotation=_Rotation, + image_w=_ImageW,image_h=_ImageH,rotate=_Rotate, + flip=_Flip,real_type='eps',llx=_LLX,lly=_LLY, + urx=_URX,ury=_URY,no_bitmap=_NoBitmap,obj_locked=_Locked, + save_epsf=_SaveEPSF,compressed=_Compressed, + transformed=_Transformed,invisible=_Invisible,trans_pat=_TransPat, + num_epsf_lines=_NumEPSFLines,epsf_lines=_EPSFLines, + date=_Date,file=_File,xbm_str=_BitmapStr,attrs=AttrList] + | _RealType = 0, _NoBitmap = 0, _SaveEPSF = 0, _Transformed = 1, + % Just XBM + Obj = xbm(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_RealType,_LLX,_LLY, + _URX,_URY,_NoBitmap,_Locked,_SaveEPSF, + _Compressed,_Transformed,_Invisible,_TransPat, + _Date,_File,_BitmapStr,TransformSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,id=_Id,rotation=_Rotation, + image_w=_ImageW,image_h=_ImageH,rotate=_Rotate, + flip=_Flip,real_type='xbm',llx=_LLX,lly=_LLY, + urx=_URX,ury=_URY,no_bitmap=_NoBitmap,obj_locked=_Locked, + save_epsf=_SaveEPSF,compressed=_Compressed, + transformed=_Transformed,invisible=_Invisible,trans_pat=_TransPat, + date=_Date,file=_File,xbm_str=_BitmapStr, + transform_spec=TransformParms,attrs=AttrList] + | _RealType = 1, _NoBitmap = 0, _SaveEPSF = 0, _Transformed = 1, + % What type is this? + Obj = xbm(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_RealType,_LLX,_LLY, + _URX,_URY,_NoBitmap,_Locked,_SaveEPSF, + _Compressed,_Transformed,_Invisible,_TransPat, + _Date,_File,_BitmapStr,TransformSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,id=_Id,rotation=_Rotation, + image_w=_ImageW,image_h=_ImageH,rotate=_Rotate, + flip=_Flip,real_type='eps',llx=_LLX,lly=_LLY, + urx=_URX,ury=_URY,no_bitmap=_NoBitmap,obj_locked=_Locked, + save_epsf=_SaveEPSF,compressed=_Compressed, + transformed=_Transformed,invisible=_Invisible,trans_pat=_TransPat, + date=_Date,file=_File,xbm_str=_BitmapStr, + transform_spec=TransformParms,attrs=AttrList] + | _RealType = 1, _NoBitmap = 1, _SaveEPSF = 0, _Transformed = 1, + % Linked EPS + Obj = xbm(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_RealType,_LLX,_LLY, + _URX,_URY,_NoBitmap,_Locked,_SaveEPSF, + _Compressed,_Transformed,_Invisible,_TransPat, + _Date,_File,TransformSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,id=_Id,rotation=_Rotation, + image_w=_ImageW,image_h=_ImageH,rotate=_Rotate, + flip=_Flip,real_type='eps',llx=_LLX,lly=_LLY, + urx=_URX,ury=_URY,no_bitmap=_NoBitmap,obj_locked=_Locked, + save_epsf=_SaveEPSF,compressed=_Compressed, + transformed=_Transformed,invisible=_Invisible,trans_pat=_TransPat, + date=_Date,file=_File,transform_spec=TransformParms, + attrs=AttrList] + | _RealType = 1, _NoBitmap = 0, _SaveEPSF = 1, _Transformed = 1, + % Embeded EPS + Obj = xbm(_Color,_BgColor,_X1,_Y1,_X2,_Y2,_ObjFill,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_RealType,_LLX,_LLY, + _URX,_URY,_NoBitmap,_Locked,_SaveEPSF, + _Compressed,_Transformed,_Invisible,_TransPat, + _Date,_File,_NumEPSFLines,_EPSFLines,_BitmapStr, + TransformSpec,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + length(_EPSFLines,_NumEPSFLines), + Parms = [color=_Color,bg_color=_BgColor,ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2, + obj_fill=_ObjFill,id=_Id,rotation=_Rotation, + image_w=_ImageW,image_h=_ImageH,rotate=_Rotate, + flip=_Flip,real_type='eps',llx=_LLX,lly=_LLY, + urx=_URX,ury=_URY,no_bitmap=_NoBitmap,obj_locked=_Locked, + save_epsf=_SaveEPSF,compressed=_Compressed, + transformed=_Transformed,invisible=_Invisible,trans_pat=_TransPat, + num_epsf_lines=_NumEPSFLines,epsf_lines=_EPSFLines, + date=_Date,file=_File,xbm_str=_BitmapStr, + transform_spec=TransformParms,attrs=AttrList] + ), + tgif_attrs(AttrList). % --------------------------------------------------------------------- % *************** *** 1955,1959 **** current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion >= 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, --- 2337,2341 ---- current_predicate(tgif_file_version,tgif_file_version(_)), tgif_file_version(FileVersion), ! FileVersion =< 33, !, ( var(Obj) -> OutputObj = true ; OutputObj = false ), ( _Transformed = 0, *************** *** 1993,1996 **** --- 2375,2422 ---- tgif_pixels(Pixels), tgif_attrs(AttrList). + % + % Note: FileVersions 34, 35, and 36 are skipped. See check_file_version/1. + % + tgif_xpm(Obj,Parms) :- + current_predicate(tgif_file_version,tgif_file_version(_)), + tgif_file_version(FileVersion), + FileVersion >= 37, !, + ( var(Obj) -> OutputObj = true ; OutputObj = false ), + ( _Transformed = 0, + Obj = xpm(_Color,_TransColor,_X1,_Y1,_X2,_Y2,_UnUsedObjFill,_NumColors, + _CharsPerPixel,_FirstPixelIsBg,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_Locked,_Compressed, + _Transformed,_Invisible,ColorNames,Pixels,AttrList), + tgif_chk_output(OutputObj,Obj), + Parms = [color=_Color,trans_color=_TransColor, + ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2,obj_fill=_UnUsedObjFill, + num_colors=_NumColors,chars_per_pixel=_CharsPerPixel, + first_pixel_is_bg=_FirstPixelIsBg,id=_Id, + rotation=_Rotation,image_w=_ImageW,image_h=_ImageH, + rotate=_Rotate,flip=_Flip,obj_locked=_Locked, + compressed=_Compressed,transformed=_Transformed, + invisible=_Invisible,color_names=ColorNames, + pixels=Pixels,attrs=AttrList] + | _Transformed = 1, + Obj = xpm(_Color,_TransColor,_X1,_Y1,_X2,_Y2,_UnUsedObjFill,_NumColors, + _CharsPerPixel,_FirstPixelIsBg,_Id,_Rotation, + _ImageW,_ImageH,_Rotate,_Flip,_Locked,_Compressed, + _Transformed,_Invisible,TransformSpec,ColorNames, + Pixels,AttrList), + tgif_chk_output(OutputObj,Obj), + tgif_obj_transform_spec(TransformSpec,TransformParms), + Parms = [color=_Color,trans_color=_TransColor, + ltx=_X1,lty=_Y1,rbx=_X2,rby=_Y2,obj_fill=_UnUsedObjFill, + num_colors=_NumColors,chars_per_pixel=_CharsPerPixel, + first_pixel_is_bg=_FirstPixelIsBg,id=_Id, + rotation=_Rotation,image_w=_ImageW,image_h=_ImageH, + rotate=_Rotate,flip=_Flip,obj_locked=_Locked, + compressed=_Compressed,transformed=_Transformed, + invisible=_Invisible,transform_spec=TransformParms, + color_names=ColorNames,pixels=Pixels,attrs=AttrList] + ), + tgif_color_info(ColorNames), + tgif_pixels(Pixels), + tgif_attrs(AttrList). % --------------------------------------------------------------------- % *************** *** 2334,2337 **** --- 2760,2782 ---- % --------------------------------------------------------------------- % + + tgif_arrow(Obj) :- tgif_arrow(Obj,_). + + tgif_arrow(Obj,Parms) :- + current_predicate(tgif_file_version,tgif_file_version(_)), + tgif_file_version(FileVersion), + FileVersion >= 37, !, + ( var(Obj) -> OutputObj = true ; OutputObj = false ), + Obj = [_ArrowHeadStyle,_ArrowHeadW,_ArrowHeadH,_ArrowHeadIndent, + _ArrowHeadWSpec,_ArrowHeadHSpec,_ArrowHeadIndentSpec], + tgif_chk_output(OutputObj,Obj), + Parms = [arrow_head_style=_ArrowHeadStyle, + arrow_head_w=_ArrowHeadW,arrow_head_h=_ArrowHeadH, + arrow_head_indent=_ArrowHeadIndent, + arrow_head_w_spec=_ArrowHeadWSpec, + arrow_head_h_spec=_ArrowHeadHSpec, + arrow_head_indent_spec=_ArrowHeadIndentSpec]. + + % --------------------------------------------------------------------- % tgif_color_info([]) :- !. *** HISTORY.orig Thu Jan 21 23:22:34 1999 --- HISTORY Thu Jan 21 23:22:34 1999 *************** *** 1,2 **** --- 1,26 ---- + -----------------------> tgif-4.0.6 => tgif-4.0.7 <----------------------- + Here's a short list of added features/bug fixes. + + 1) Fix a crashing bug which can happen when you paste complex text objects + at the text cursor. Thanks to TSUKADA Satoru + for the patch. + 2) Fix a bug in inserting in an text object. Sometimes, the + key will bring you to the wrong place after inserting . + Thanks to TSUKADA Satoru for the patch. + 3) Fix a bunch of bugs related to the handling of double-byte fonts. + Thanks to TSUKADA Satoru for the patch. + 4) Use the portable locale ("C") by default. Thanks to Gregor Zych + for the suggestion. + 5) Add a new drawing mode to create arcs such that the user can specify the + endpoints of an arc while tgif determines automatically the center of + the circle on which the arc lies. Thanks to Dick Wesseling + for the patch and suggestion. + 6) Add 3 alignment submenus and 1 distribution submenu. Using these submenus, + one can specify alignments directly while aligning objects, aligning + objects to grid, aligning objects to page, and distribute objects. + Thanks to Dick Wesseling for the suggestion. + 7) Update "tgif.pl" Prolog code to document the new tgif file format + (file version 37). + -----------------------> tgif-4.0.5 => tgif-4.0.6 <----------------------- Here's a short list of added features/bug fixes. *** xbm/align_cb.xbm.orig Thu Jan 21 23:22:35 1999 --- xbm/align_cb.xbm Thu Jan 21 23:22:35 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_cb.xbm,v 4.0 1999/01/21 21:08:10 william Exp $ + */ + #define align_cb_width 32 + #define align_cb_height 20 + #define align_cb_x_hot 0 + #define align_cb_y_hot 0 + static unsigned char align_cb_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xd0, 0x0f, 0x00, + 0x00, 0xd8, 0x30, 0x00, 0x00, 0xb4, 0x40, 0x00, 0x00, 0x12, 0x81, 0x00, + 0xe0, 0x91, 0x03, 0x0f, 0xa0, 0x51, 0x02, 0x0b, 0x60, 0x31, 0x06, 0x0d, + 0xa0, 0x11, 0x0d, 0x0b, 0x60, 0x93, 0x88, 0x0d, 0xa0, 0x56, 0xd4, 0x0a, + 0x60, 0x3d, 0x72, 0x0d, 0xe0, 0xff, 0xff, 0x0f}; *** xbm/align_cm.xbm.orig Thu Jan 21 23:22:35 1999 --- xbm/align_cm.xbm Thu Jan 21 23:22:35 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_cm.xbm,v 4.0 1999/01/21 21:08:10 william Exp $ + */ + #define align_cm_width 32 + #define align_cm_height 20 + #define align_cm_x_hot 0 + #define align_cm_y_hot 0 + static unsigned char align_cm_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, + 0x00, 0x78, 0x30, 0x00, 0xe0, 0xd7, 0xc0, 0x0f, 0x60, 0x93, 0x80, 0x0d, + 0xa0, 0x51, 0x01, 0x0b, 0x60, 0x31, 0x03, 0x0d, 0xa0, 0x11, 0x03, 0x0b, + 0x60, 0x91, 0x04, 0x0d, 0xa0, 0x52, 0x8c, 0x0a, 0xe0, 0x37, 0xca, 0x0f, + 0x00, 0x18, 0x31, 0x00, 0x00, 0x90, 0x18, 0x00, 0x00, 0xf0, 0x3f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *** xbm/align_cs.xbm.orig Thu Jan 21 23:22:36 1999 --- xbm/align_cs.xbm Thu Jan 21 23:22:36 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_cs.xbm,v 4.0 1999/01/21 21:08:11 william Exp $ + */ + #define align_cs_width 32 + #define align_cs_height 20 + #define align_cs_x_hot 0 + #define align_cs_y_hot 0 + static unsigned char align_cs_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x0f, 0x60, 0x55, 0x55, 0x0d, + 0xa0, 0xaa, 0xaa, 0x0a, 0x60, 0x55, 0x55, 0x0d, 0xa0, 0xfa, 0xaf, 0x0a, + 0x60, 0x3d, 0x70, 0x0d, 0xa0, 0x36, 0xc0, 0x0a, 0xe0, 0x53, 0x80, 0x0f, + 0x00, 0xd1, 0x00, 0x01, 0x00, 0xb1, 0x00, 0x01, 0x00, 0x11, 0x01, 0x01, + 0x00, 0x91, 0x03, 0x01, 0x00, 0x52, 0x82, 0x00, 0x00, 0x34, 0x46, 0x00, + 0x00, 0x18, 0x3d, 0x00, 0x00, 0x90, 0x08, 0x00, 0x00, 0x50, 0x14, 0x00, + 0x00, 0x30, 0x12, 0x00, 0x00, 0xf0, 0x3f, 0x00}; *** xbm/align_ct.xbm.orig Thu Jan 21 23:22:37 1999 --- xbm/align_ct.xbm Thu Jan 21 23:22:37 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_ct.xbm,v 4.0 1999/01/21 21:08:11 william Exp $ + */ + #define align_ct_width 32 + #define align_ct_height 20 + #define align_ct_x_hot 0 + #define align_ct_y_hot 0 + static unsigned char align_ct_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x0f, 0x60, 0x3d, 0x70, 0x0d, + 0xa0, 0x36, 0xc0, 0x0a, 0x60, 0x53, 0x80, 0x0d, 0xa0, 0xd1, 0x00, 0x0b, + 0x60, 0xb1, 0x00, 0x0d, 0xa0, 0x11, 0x01, 0x0b, 0xe0, 0x91, 0x03, 0x0f, + 0x00, 0x52, 0x82, 0x00, 0x00, 0x34, 0x46, 0x00, 0x00, 0x18, 0x3d, 0x00, + 0x00, 0x90, 0x08, 0x00, 0x00, 0x50, 0x14, 0x00, 0x00, 0x30, 0x12, 0x00, + 0x00, 0xf0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *** xbm/align_lb.xbm.orig Thu Jan 21 23:22:37 1999 --- xbm/align_lb.xbm Thu Jan 21 23:22:37 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_lb.xbm,v 4.0 1999/01/21 21:08:11 william Exp $ + */ + #define align_lb_width 32 + #define align_lb_height 20 + #define align_lb_x_hot 0 + #define align_lb_y_hot 0 + static unsigned char align_lb_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xca, 0x1f, 0x00, 0x00, + 0x3e, 0x60, 0x00, 0x00, 0x12, 0x80, 0x00, 0x00, 0x32, 0x00, 0x01, 0x00, + 0x6a, 0x00, 0xfe, 0x00, 0x46, 0x00, 0xaa, 0x00, 0xa2, 0x00, 0xd6, 0x00, + 0x92, 0x01, 0xaa, 0x00, 0x8a, 0x01, 0xd5, 0x00, 0x46, 0x82, 0xaa, 0x00, + 0x22, 0x62, 0xd5, 0x00, 0xfe, 0xff, 0xff, 0x00}; *** xbm/align_lm.xbm.orig Thu Jan 21 23:22:38 1999 --- xbm/align_lm.xbm Thu Jan 21 23:22:38 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_lm.xbm,v 4.0 1999/01/21 21:08:11 william Exp $ + */ + #define align_lm_width 32 + #define align_lm_height 20 + #define align_lm_x_hot 0 + #define align_lm_y_hot 0 + static unsigned char align_lm_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xc6, 0x1f, 0x00, 0x00, + 0x3a, 0x60, 0x00, 0x00, 0x1a, 0x80, 0xff, 0x00, 0x1a, 0x00, 0xd5, 0x00, + 0x26, 0x00, 0xaa, 0x00, 0x62, 0x00, 0xd6, 0x00, 0x52, 0x00, 0xaa, 0x00, + 0x8a, 0x00, 0xd6, 0x00, 0xc6, 0x01, 0xab, 0x00, 0x22, 0x81, 0xff, 0x00, + 0x12, 0x63, 0x00, 0x00, 0x8a, 0x1e, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *** xbm/align_ls.xbm.orig Thu Jan 21 23:22:39 1999 --- xbm/align_ls.xbm Thu Jan 21 23:22:39 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_ls.xbm,v 4.0 1999/01/21 21:08:12 william Exp $ + */ + #define align_ls_width 32 + #define align_ls_height 20 + #define align_ls_x_hot 0 + #define align_ls_y_hot 0 + static unsigned char align_ls_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0xf8, 0x03, 0x00, 0x00, + 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, + 0xf8, 0x03, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0xf8, 0x03, 0x00, 0x00, + 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, + 0xf8, 0x03, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0xf8, 0x03, 0x00, 0x00, + 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, + 0xf8, 0x03, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f}; *** xbm/align_lt.xbm.orig Thu Jan 21 23:22:40 1999 --- xbm/align_lt.xbm Thu Jan 21 23:22:40 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_lt.xbm,v 4.0 1999/01/21 21:08:12 william Exp $ + */ + #define align_lt_width 32 + #define align_lt_height 20 + #define align_lt_x_hot 0 + #define align_lt_y_hot 0 + static unsigned char align_lt_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x00, 0x36, 0x60, 0xd5, 0x00, + 0x0e, 0x80, 0xaa, 0x00, 0x0a, 0x00, 0xd5, 0x00, 0x1e, 0x00, 0xaa, 0x00, + 0x12, 0x00, 0xd6, 0x00, 0x32, 0x00, 0xaa, 0x00, 0x6a, 0x00, 0xfe, 0x00, + 0x46, 0x00, 0x01, 0x00, 0xa2, 0x80, 0x00, 0x00, 0x92, 0x61, 0x00, 0x00, + 0x8a, 0x1f, 0x00, 0x00, 0x46, 0x02, 0x00, 0x00, 0x22, 0x02, 0x00, 0x00, + 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *** xbm/align_ns.xbm.orig Thu Jan 21 23:22:40 1999 --- xbm/align_ns.xbm Thu Jan 21 23:22:40 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_ns.xbm,v 4.0 1999/01/21 21:08:12 william Exp $ + */ + #define align_ns_width 32 + #define align_ns_height 20 + #define align_ns_x_hot 0 + #define align_ns_y_hot 0 + static unsigned char align_ns_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f}; *** xbm/align_rb.xbm.orig Thu Jan 21 23:22:41 1999 --- xbm/align_rb.xbm Thu Jan 21 23:22:41 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_rb.xbm,v 4.0 1999/01/21 21:08:12 william Exp $ + */ + #define align_rb_width 32 + #define align_rb_height 20 + #define align_rb_x_hot 0 + #define align_rb_y_hot 0 + static unsigned char align_rb_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, + 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf0, 0x07, + 0x00, 0x00, 0x4c, 0x1b, 0x00, 0x00, 0x42, 0x22, 0x00, 0x00, 0x41, 0x45, + 0x00, 0xfe, 0xc0, 0x8c, 0x00, 0xaa, 0x40, 0x8c, 0x00, 0xd6, 0x40, 0x92, + 0x00, 0xaa, 0x40, 0xb1, 0x00, 0x56, 0xc1, 0xe8, 0x00, 0xaa, 0x42, 0xc4, + 0x00, 0x56, 0x4d, 0xe2, 0x00, 0xfe, 0xff, 0xff}; *** xbm/align_rm.xbm.orig Thu Jan 21 23:22:42 1999 --- xbm/align_rm.xbm Thu Jan 21 23:22:42 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_rm.xbm,v 4.0 1999/01/21 21:08:13 william Exp $ + */ + #define align_rm_width 32 + #define align_rm_height 20 + #define align_rm_x_hot 0 + #define align_rm_y_hot 0 + static unsigned char align_rm_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf0, 0x07, + 0x00, 0x00, 0x4c, 0x19, 0x00, 0xfe, 0x43, 0xe3, 0x00, 0x56, 0xc1, 0xc2, + 0x00, 0xaa, 0x40, 0x84, 0x00, 0xd6, 0x40, 0x8e, 0x00, 0xaa, 0x40, 0x89, + 0x00, 0xd6, 0xc0, 0x98, 0x00, 0xaa, 0x41, 0xf4, 0x00, 0xfe, 0x43, 0xe2, + 0x00, 0x00, 0x4c, 0x51, 0x00, 0x00, 0xf0, 0x48, 0x00, 0x00, 0xc0, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *** xbm/align_rs.xbm.orig Thu Jan 21 23:22:43 1999 --- xbm/align_rs.xbm Thu Jan 21 23:22:43 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_rs.xbm,v 4.0 1999/01/21 21:08:13 william Exp $ + */ + #define align_rs_width 32 + #define align_rs_height 20 + #define align_rs_x_hot 0 + #define align_rs_y_hot 0 + static unsigned char align_rs_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x80, 0x3f, + 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, + 0x00, 0x00, 0x80, 0x3f, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x80, 0x3f, + 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, + 0x00, 0x00, 0x80, 0x3f, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x80, 0x3f, + 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, + 0x00, 0x00, 0x80, 0x3f, 0xfe, 0xff, 0xff, 0xff}; *** xbm/align_rt.xbm.orig Thu Jan 21 23:22:44 1999 --- xbm/align_rt.xbm Thu Jan 21 23:22:44 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_rt.xbm,v 4.0 1999/01/21 21:08:13 william Exp $ + */ + #define align_rt_width 32 + #define align_rt_height 20 + #define align_rt_x_hot 0 + #define align_rt_y_hot 0 + static unsigned char align_rt_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x00, 0x56, 0xcd, 0xd8, + 0x00, 0xaa, 0xc2, 0xa0, 0x00, 0x56, 0xc1, 0xc1, 0x00, 0xaa, 0x40, 0x83, + 0x00, 0xd6, 0x40, 0x82, 0x00, 0xaa, 0x40, 0x85, 0x00, 0xfe, 0xc0, 0x8c, + 0x00, 0x00, 0x41, 0x4c, 0x00, 0x00, 0x42, 0x32, 0x00, 0x00, 0x4c, 0x31, + 0x00, 0x00, 0xf0, 0x28, 0x00, 0x00, 0x40, 0x44, 0x00, 0x00, 0x40, 0x62, + 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *** xbm/align_sb.xbm.orig Thu Jan 21 23:22:44 1999 --- xbm/align_sb.xbm Thu Jan 21 23:22:44 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_sb.xbm,v 4.0 1999/01/21 21:08:13 william Exp $ + */ + #define align_sb_width 32 + #define align_sb_height 20 + #define align_sb_x_hot 0 + #define align_sb_y_hot 0 + static unsigned char align_sb_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0xee, 0xfb, 0xbe, 0xef, + 0xee, 0xfb, 0xbe, 0xef, 0xee, 0xfb, 0xbe, 0xef, 0xc6, 0x71, 0x1c, 0xc7, + 0xc6, 0x71, 0x1c, 0xc7, 0xc6, 0x71, 0x1c, 0xc7, 0xc6, 0x71, 0x1c, 0xc7, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82}; *** xbm/align_sm.xbm.orig Thu Jan 21 23:22:45 1999 --- xbm/align_sm.xbm Thu Jan 21 23:22:45 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_sm.xbm,v 4.0 1999/01/21 21:08:13 william Exp $ + */ + #define align_sm_width 32 + #define align_sm_height 20 + #define align_sm_x_hot 0 + #define align_sm_y_hot 0 + static unsigned char align_sm_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xe0, 0xcf, 0x00, + 0x00, 0x18, 0x70, 0x01, 0xfe, 0x07, 0x40, 0x03, 0x56, 0x03, 0xc0, 0x02, + 0xaa, 0x01, 0x40, 0x04, 0x56, 0x01, 0x40, 0x0e, 0xaa, 0x01, 0x40, 0x09, + 0x56, 0x01, 0xc0, 0x18, 0xaa, 0x02, 0x40, 0x34, 0xfe, 0x07, 0x40, 0x22, + 0x00, 0x18, 0x70, 0x51, 0x00, 0xe0, 0xcf, 0x48, 0x00, 0x00, 0xc0, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *** xbm/align_sn.xbm.orig Thu Jan 21 23:22:46 1999 --- xbm/align_sn.xbm Thu Jan 21 23:22:46 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_sn.xbm,v 4.0 1999/01/21 21:08:14 william Exp $ + */ + #define align_sn_width 32 + #define align_sn_height 20 + #define align_sn_x_hot 0 + #define align_sn_y_hot 0 + static unsigned char align_sn_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x00, 0x00, 0x00, 0x00}; *** xbm/align_ss.xbm.orig Thu Jan 21 23:22:47 1999 --- xbm/align_ss.xbm Thu Jan 21 23:22:47 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_ss.xbm,v 4.0 1999/01/21 21:08:14 william Exp $ + */ + #define align_ss_width 32 + #define align_ss_height 20 + #define align_ss_x_hot 0 + #define align_ss_y_hot 0 + static unsigned char align_ss_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0xfe, 0xff, 0xff, 0xff, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0xfe, 0xff, 0xff, 0xff, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0xfe, 0xff, 0xff, 0x7f}; *** xbm/align_st.xbm.orig Thu Jan 21 23:22:48 1999 --- xbm/align_st.xbm Thu Jan 21 23:22:48 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/align_st.xbm,v 4.0 1999/01/21 21:08:14 william Exp $ + */ + #define align_st_width 32 + #define align_st_height 20 + #define align_st_x_hot 0 + #define align_st_y_hot 0 + static unsigned char align_st_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0xc6, 0x71, 0x1c, 0xc7, 0xc6, 0x71, 0x1c, 0xc7, 0xc6, 0x71, 0x1c, 0xc7, + 0xc6, 0x71, 0x1c, 0xc7, 0xee, 0xfb, 0xbe, 0xef, 0xee, 0xfb, 0xbe, 0xef, + 0xee, 0xfb, 0xbe, 0xef, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, 0x82, 0x20, 0x08, 0x82, + 0x82, 0x20, 0x08, 0x82, 0x00, 0x00, 0x00, 0x00}; *** xbm/arc.xbm.orig Thu Jan 21 23:22:49 1999 --- xbm/arc.xbm Thu Jan 21 23:22:49 1999 *************** *** 11,15 **** 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x80, 0x00, ! 0x00, 0x02, 0xc0, 0x00, 0x00, 0x02, 0x38, 0x00, 0x00, 0x02, 0x07, 0x00, ! 0x00, 0xe2, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, ! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; --- 11,15 ---- 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x80, 0x00, ! 0x00, 0x02, 0xfc, 0x00, 0x00, 0x02, 0x7c, 0x00, 0x00, 0x02, 0x3f, 0x00, ! 0x00, 0xe3, 0x18, 0x00, 0x00, 0x1d, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, ! 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; *** xbm/arc_edge.xbm.orig Thu Jan 21 23:22:50 1999 --- xbm/arc_edge.xbm Thu Jan 21 23:22:50 1999 *************** *** 0 **** --- 1,15 ---- + /* + * @(#)$Header: /mm/src/tgif/v4/xbm/RCS/arc_edge.xbm,v 4.0 1999/01/20 01:32:23 william Exp $ + */ + #define arc_edge_width 32 + #define arc_edge_height 20 + #define arc_edge_x_hot 0 + #define arc_edge_y_hot 0 + static unsigned char arc_edge_bits[] = { + 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x90, 0x01, 0x00, 0x00, 0x18, 0x06, 0x00, 0x00, 0x08, 0x48, 0x00, + 0x00, 0x08, 0x70, 0x00, 0x00, 0x08, 0x70, 0x00, 0x00, 0x04, 0x7c, 0x00, + 0x00, 0x04, 0x70, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x80, 0x00, + 0x00, 0x02, 0xc0, 0x00, 0x00, 0x02, 0x38, 0x00, 0x00, 0x02, 0x07, 0x00, + 0x00, 0xe2, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *** xbm/gsubmenu.xbm.orig Thu Jan 21 23:22:51 1999 --- xbm/gsubmenu.xbm Thu Jan 21 23:22:51 1999 *************** *** 3,8 **** */ #define gsubmenu_width 9 #define gsubmenu_height 9 ! static char gsubmenu_bits[] = { 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x28, 0x00, 0x50, 0x00, 0x28, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00}; --- 3,8 ---- */ #define gsubmenu_width 9 #define gsubmenu_height 9 ! static unsigned char gsubmenu_bits[] = { 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x28, 0x00, 0x50, 0x00, 0x28, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00}; *** make.comdep.orig Thu Jan 21 23:22:51 1999 --- make.comdep Thu Jan 21 23:22:52 1999 *************** *** 9,16 **** # dependencies generated by makedepend and noimake ! align$(O) : tgifdefs.h const.h tgif_dbg.h types.h align.e auxtext.e \ ! button.e choice.e cmd.e color.e dialog.e drawing.e dup.e \ ! grid.e mark.e mainmenu.e menu.e menuinfo.e move.e msg.e obj.e \ ! poly.e raster.e rect.e select.e setup.e animate$(O) : tgifdefs.h const.h tgif_dbg.h types.h animate.e color.e \ dialog.e msg.e poly.e raster.e select.e setup.e --- 9,16 ---- # dependencies generated by makedepend and noimake ! align$(O) : tgifdefs.h const.h tgif_dbg.h types.h cmdids.h align.e \ ! auxtext.e button.e choice.e cmd.e color.e dialog.e drawing.e \ ! dup.e grid.e mark.e mainmenu.e menu.e menuinfo.e move.e msg.e \ ! obj.e poly.e raster.e rect.e select.e setup.e util.e animate$(O) : tgifdefs.h const.h tgif_dbg.h types.h animate.e color.e \ dialog.e msg.e poly.e raster.e select.e setup.e *************** *** 249,305 **** $(XBM)text.xbm $(XBM)box.xbm $(XBM)oval.xbm \ $(XBM)ovalcent.xbm $(XBM)ovaledge.xbm $(XBM)poly.xbm \ ! $(XBM)polygon.xbm $(XBM)arc.xbm $(XBM)rcbox.xbm \ ! $(XBM)freehand.xbm $(XBM)vmode.xbm $(XBM)rot_mode.xbm \ ! $(XBM)pat0.xbm $(XBM)pat1.xbm $(XBM)pat2.xbm $(XBM)pat3.xbm \ ! $(XBM)pat4.xbm $(XBM)pat5.xbm $(XBM)pat6.xbm $(XBM)pat7.xbm \ ! $(XBM)pat8.xbm $(XBM)pat9.xbm $(XBM)pat10.xbm $(XBM)pat11.xbm \ ! $(XBM)pat12.xbm $(XBM)pat13.xbm $(XBM)pat14.xbm \ ! $(XBM)pat15.xbm $(XBM)pat16.xbm $(XBM)pat17.xbm \ ! $(XBM)pat18.xbm $(XBM)pat19.xbm $(XBM)pat20.xbm \ ! $(XBM)pat21.xbm $(XBM)pat22.xbm $(XBM)pat23.xbm \ ! $(XBM)pat24.xbm $(XBM)pat25.xbm $(XBM)pat26.xbm \ ! $(XBM)pat27.xbm $(XBM)pat28.xbm $(XBM)pat29.xbm \ ! $(XBM)pat30.xbm $(XBM)pat31.xbm $(XBM)pat32.xbm \ ! $(XBM)shape0.xbm $(XBM)shape1.xbm $(XBM)shape2.xbm \ ! $(XBM)shape3.xbm $(XBM)shape4.xbm $(XBM)shape5.xbm \ ! $(XBM)shape6.xbm $(XBM)shape7.xbm $(XBM)shape8.xbm \ ! $(XBM)shape9.xbm $(XBM)shape10.xbm $(XBM)shape11.xbm \ ! $(XBM)shape12.xbm $(XBM)shape13.xbm $(XBM)shape14.xbm \ ! $(XBM)shape15.xbm $(XBM)shape16.xbm $(XBM)shape17.xbm \ ! $(XBM)shape18.xbm $(XBM)shape19.xbm $(XBM)just_l.xbm \ ! $(XBM)just_c.xbm $(XBM)just_r.xbm $(XBM)align_n.xbm \ ! $(XBM)align_l.xbm $(XBM)align_c.xbm $(XBM)align_r.xbm \ ! $(XBM)align_t.xbm $(XBM)align_m.xbm $(XBM)align_b.xbm \ ! $(XBM)align_s.xbm $(XBM)lw0.xbm $(XBM)lw1.xbm $(XBM)lw2.xbm \ ! $(XBM)lw3.xbm $(XBM)lw4.xbm $(XBM)lw5.xbm $(XBM)lw6.xbm \ ! $(XBM)lt0.xbm $(XBM)lt1.xbm $(XBM)lt2.xbm $(XBM)ls0.xbm \ ! $(XBM)ls1.xbm $(XBM)ls2.xbm $(XBM)ls3.xbm $(XBM)ld0.xbm \ ! $(XBM)ld1.xbm $(XBM)ld2.xbm $(XBM)ld3.xbm $(XBM)ld4.xbm \ ! $(XBM)ld5.xbm $(XBM)ld6.xbm $(XBM)ld7.xbm $(XBM)ld8.xbm \ ! $(XBM)lw0s.xbm $(XBM)lw1s.xbm $(XBM)lw2s.xbm $(XBM)lw3s.xbm \ ! $(XBM)lw4s.xbm $(XBM)lw5s.xbm $(XBM)lw6s.xbm $(XBM)lt0s.xbm \ ! $(XBM)lt1s.xbm $(XBM)lt2s.xbm $(XBM)ls0s.xbm $(XBM)ls1s.xbm \ ! $(XBM)ls2s.xbm $(XBM)ls3s.xbm $(XBM)ld0s.xbm $(XBM)ld1s.xbm \ ! $(XBM)ld2s.xbm $(XBM)ld3s.xbm $(XBM)ld4s.xbm $(XBM)ld5s.xbm \ ! $(XBM)ld6s.xbm $(XBM)ld7s.xbm $(XBM)ld8s.xbm \ ! $(XBM)printer.xbm $(XBM)latex.xbm $(XBM)psfile.xbm \ ! $(XBM)xbm.xbm $(XBM)ascii.xbm $(XBM)epsi.xbm $(XBM)gif.xbm \ ! $(XBM)html.xbm $(XBM)pdf.xbm $(XBM)tiffepsi.xbm \ ! $(XBM)file.xbm $(XBM)landscap.xbm $(XBM)special.xbm \ ! $(XBM)vspace.xbm $(XBM)rcb_rad.xbm $(XBM)const_mv.xbm \ ! $(XBM)uncon_mv.xbm $(XBM)edit.xbm $(XBM)intr.xbm \ ! $(XBM)intr90.xbm $(XBM)trek.xbm $(XBM)stack.xbm \ ! $(XBM)tile.xbm $(XBM)leftend.xbm $(XBM)lfarrow.xbm \ ! $(XBM)rtarrow.xbm $(XBM)rightend.xbm $(XBM)upend.xbm \ ! $(XBM)uparrow.xbm $(XBM)dnarrow.xbm $(XBM)downend.xbm \ ! $(XBM)chkall.xbm $(XBM)unchkall.xbm $(XBM)scrl_up.xbm \ ! $(XBM)scrl_dn.xbm $(XBM)scrl_lf.xbm $(XBM)scrl_rt.xbm \ ! $(XBM)stretch.xbm $(XBM)nstretch.xbm $(XBM)pattrans.xbm \ ! $(XBM)patopaq.xbm $(XBM)rot_0.xbm $(XBM)rot_90.xbm \ ! $(XBM)rot_180.xbm $(XBM)rot_270.xbm $(XBM)check.xbm \ ! $(XBM)radio.xbm $(XBM)submenu.xbm $(XBM)gsubmenu.xbm \ ! $(XBM)redraw.xbm $(XBM)btn1.xbm $(XBM)btn2.xbm $(XBM)btn3.xbm \ ! $(XBM)stop.xbm $(XBM)question.xbm $(XBM)info.xbm \ ! $(XBM)dialog.xbm rcbox$(O) : tgifdefs.h const.h tgif_dbg.h types.h attr.e auxtext.e box.e \ cmd.e color.e cursor.e cutpaste.e drawing.e file.e grid.e \ --- 249,311 ---- $(XBM)text.xbm $(XBM)box.xbm $(XBM)oval.xbm \ $(XBM)ovalcent.xbm $(XBM)ovaledge.xbm $(XBM)poly.xbm \ ! $(XBM)polygon.xbm $(XBM)arc.xbm $(XBM)arc_edge.xbm \ ! $(XBM)rcbox.xbm $(XBM)freehand.xbm $(XBM)vmode.xbm \ ! $(XBM)rot_mode.xbm $(XBM)pat0.xbm $(XBM)pat1.xbm \ ! $(XBM)pat2.xbm $(XBM)pat3.xbm $(XBM)pat4.xbm $(XBM)pat5.xbm \ ! $(XBM)pat6.xbm $(XBM)pat7.xbm $(XBM)pat8.xbm $(XBM)pat9.xbm \ ! $(XBM)pat10.xbm $(XBM)pat11.xbm $(XBM)pat12.xbm \ ! $(XBM)pat13.xbm $(XBM)pat14.xbm $(XBM)pat15.xbm \ ! $(XBM)pat16.xbm $(XBM)pat17.xbm $(XBM)pat18.xbm \ ! $(XBM)pat19.xbm $(XBM)pat20.xbm $(XBM)pat21.xbm \ ! $(XBM)pat22.xbm $(XBM)pat23.xbm $(XBM)pat24.xbm \ ! $(XBM)pat25.xbm $(XBM)pat26.xbm $(XBM)pat27.xbm \ ! $(XBM)pat28.xbm $(XBM)pat29.xbm $(XBM)pat30.xbm \ ! $(XBM)pat31.xbm $(XBM)pat32.xbm $(XBM)shape0.xbm \ ! $(XBM)shape1.xbm $(XBM)shape2.xbm $(XBM)shape3.xbm \ ! $(XBM)shape4.xbm $(XBM)shape5.xbm $(XBM)shape6.xbm \ ! $(XBM)shape7.xbm $(XBM)shape8.xbm $(XBM)shape9.xbm \ ! $(XBM)shape10.xbm $(XBM)shape11.xbm $(XBM)shape12.xbm \ ! $(XBM)shape13.xbm $(XBM)shape14.xbm $(XBM)shape15.xbm \ ! $(XBM)shape16.xbm $(XBM)shape17.xbm $(XBM)shape18.xbm \ ! $(XBM)shape19.xbm $(XBM)just_l.xbm $(XBM)just_c.xbm \ ! $(XBM)just_r.xbm $(XBM)align_n.xbm $(XBM)align_l.xbm \ ! $(XBM)align_c.xbm $(XBM)align_r.xbm $(XBM)align_t.xbm \ ! $(XBM)align_m.xbm $(XBM)align_b.xbm $(XBM)align_s.xbm \ ! $(XBM)align_lt.xbm $(XBM)align_lm.xbm $(XBM)align_lb.xbm \ ! $(XBM)align_ct.xbm $(XBM)align_cm.xbm $(XBM)align_cb.xbm \ ! $(XBM)align_rt.xbm $(XBM)align_rm.xbm $(XBM)align_rb.xbm \ ! $(XBM)align_sn.xbm $(XBM)align_st.xbm $(XBM)align_sm.xbm \ ! $(XBM)align_sb.xbm $(XBM)align_ns.xbm $(XBM)align_ls.xbm \ ! $(XBM)align_cs.xbm $(XBM)align_rs.xbm $(XBM)align_ss.xbm \ ! $(XBM)lw0.xbm $(XBM)lw1.xbm $(XBM)lw2.xbm $(XBM)lw3.xbm \ ! $(XBM)lw4.xbm $(XBM)lw5.xbm $(XBM)lw6.xbm $(XBM)lt0.xbm \ ! $(XBM)lt1.xbm $(XBM)lt2.xbm $(XBM)ls0.xbm $(XBM)ls1.xbm \ ! $(XBM)ls2.xbm $(XBM)ls3.xbm $(XBM)ld0.xbm $(XBM)ld1.xbm \ ! $(XBM)ld2.xbm $(XBM)ld3.xbm $(XBM)ld4.xbm $(XBM)ld5.xbm \ ! $(XBM)ld6.xbm $(XBM)ld7.xbm $(XBM)ld8.xbm $(XBM)lw0s.xbm \ ! $(XBM)lw1s.xbm $(XBM)lw2s.xbm $(XBM)lw3s.xbm $(XBM)lw4s.xbm \ ! $(XBM)lw5s.xbm $(XBM)lw6s.xbm $(XBM)lt0s.xbm $(XBM)lt1s.xbm \ ! $(XBM)lt2s.xbm $(XBM)ls0s.xbm $(XBM)ls1s.xbm $(XBM)ls2s.xbm \ ! $(XBM)ls3s.xbm $(XBM)ld0s.xbm $(XBM)ld1s.xbm $(XBM)ld2s.xbm \ ! $(XBM)ld3s.xbm $(XBM)ld4s.xbm $(XBM)ld5s.xbm $(XBM)ld6s.xbm \ ! $(XBM)ld7s.xbm $(XBM)ld8s.xbm $(XBM)printer.xbm \ ! $(XBM)latex.xbm $(XBM)psfile.xbm $(XBM)xbm.xbm \ ! $(XBM)ascii.xbm $(XBM)epsi.xbm $(XBM)gif.xbm $(XBM)html.xbm \ ! $(XBM)pdf.xbm $(XBM)tiffepsi.xbm $(XBM)file.xbm \ ! $(XBM)landscap.xbm $(XBM)special.xbm $(XBM)vspace.xbm \ ! $(XBM)rcb_rad.xbm $(XBM)const_mv.xbm $(XBM)uncon_mv.xbm \ ! $(XBM)edit.xbm $(XBM)intr.xbm $(XBM)intr90.xbm $(XBM)trek.xbm \ ! $(XBM)stack.xbm $(XBM)tile.xbm $(XBM)leftend.xbm \ ! $(XBM)lfarrow.xbm $(XBM)rtarrow.xbm $(XBM)rightend.xbm \ ! $(XBM)upend.xbm $(XBM)uparrow.xbm $(XBM)dnarrow.xbm \ ! $(XBM)downend.xbm $(XBM)chkall.xbm $(XBM)unchkall.xbm \ ! $(XBM)scrl_up.xbm $(XBM)scrl_dn.xbm $(XBM)scrl_lf.xbm \ ! $(XBM)scrl_rt.xbm $(XBM)stretch.xbm $(XBM)nstretch.xbm \ ! $(XBM)pattrans.xbm $(XBM)patopaq.xbm $(XBM)rot_0.xbm \ ! $(XBM)rot_90.xbm $(XBM)rot_180.xbm $(XBM)rot_270.xbm \ ! $(XBM)check.xbm $(XBM)radio.xbm $(XBM)submenu.xbm \ ! $(XBM)gsubmenu.xbm $(XBM)redraw.xbm $(XBM)btn1.xbm \ ! $(XBM)btn2.xbm $(XBM)btn3.xbm $(XBM)stop.xbm \ ! $(XBM)question.xbm $(XBM)info.xbm $(XBM)dialog.xbm rcbox$(O) : tgifdefs.h const.h tgif_dbg.h types.h attr.e auxtext.e box.e \ cmd.e color.e cursor.e cutpaste.e drawing.e file.e grid.e \ *************** *** 330,337 **** help.e imgproc.e import.e inmethod.e mainloop.e mainmenu.e \ mark.e menu.e miniline.e move.e msg.e names.e navigate.e \ ! page.e pattern.e pin.e poly.e ps.e raster.e remote.e ruler.e \ ! scroll.e select.e setup.e shape.e shortcut.e spline.e stk.e \ ! stretch.e text.e util.e version.e wb.e xbitmap.e xpixmap.e \ ! xprtfltr.e tgificon.xbm $(XBM)btn1.xbm shape$(O) : tgifdefs.h const.h tgif_dbg.h types.h cmdids.h arc.e attr.e \ auxtext.e box.e cmd.e color.e cursor.e dialog.e drawing.e \ --- 336,343 ---- help.e imgproc.e import.e inmethod.e mainloop.e mainmenu.e \ mark.e menu.e miniline.e move.e msg.e names.e navigate.e \ ! nkf.e page.e pattern.e pin.e poly.e ps.e raster.e remote.e \ ! ruler.e scroll.e select.e setup.e shape.e shortcut.e spline.e \ ! stk.e stretch.e text.e util.e version.e wb.e xbitmap.e \ ! xpixmap.e xprtfltr.e tgificon.xbm $(XBM)btn1.xbm shape$(O) : tgifdefs.h const.h tgif_dbg.h types.h cmdids.h arc.e attr.e \ auxtext.e box.e cmd.e color.e cursor.e dialog.e drawing.e \ *************** *** 385,391 **** cmd.e dialog.e file.e grid.e http.e mark.e msg.e obj.e \ remote.e select.e stk.e tcp.e util.e wb.e ! wb1$(O) : ! wb2$(O) : ! wb3$(O) : xbitmap$(O) : tgifdefs.h const.h tgif_dbg.h types.h expfdefs.h attr.e \ auxtext.e choice.e cmd.e color.e cursor.e cutpaste.e dialog.e \ --- 391,397 ---- cmd.e dialog.e file.e grid.e http.e mark.e msg.e obj.e \ remote.e select.e stk.e tcp.e util.e wb.e ! wb1$(O) : tgifdefs.h const.h tgif_dbg.h types.h ! wb2$(O) : tgifdefs.h const.h tgif_dbg.h types.h ! wb3$(O) : tgifdefs.h const.h tgif_dbg.h types.h xbitmap$(O) : tgifdefs.h const.h tgif_dbg.h types.h expfdefs.h attr.e \ auxtext.e choice.e cmd.e color.e cursor.e cutpaste.e dialog.e \ *** Tgif.tmpl-solaris.orig Thu Jan 21 23:22:53 1999 --- Tgif.tmpl-solaris Thu Jan 21 23:22:53 1999 *************** *** 46,49 **** --- 46,50 ---- EXTRA_LDOPTIONS = EXTRA_LIBRARIES = -lsocket -lnsl -lgen + LDCOMBINEFLAGS = -r PROGRAMS = tgif XCOMM prtgif frontend11.o testdrive