Lines Matching refs:BW
316 static void Refresh(BitmapWidget BW, Position x, Position y,
380 BitmapWidget BW = (BitmapWidget) w;
382 return GetPixmap(BW, BW->bitmap.zoom.image);
388 BitmapWidget BW = (BitmapWidget) w;
392 if (BW->bitmap.zooming) {
394 BW->bitmap.zoom.image->width,
395 BW->bitmap.zoom.image->height, 1);
403 BW->bitmap.zoom.image,
405 BW->bitmap.zoom.image->width,
406 BW->bitmap.zoom.image->height);
408 BW->bitmap.image,
410 BW->bitmap.zoom.at_x,
411 BW->bitmap.zoom.at_y,
412 BW->bitmap.image->width,
413 BW->bitmap.image->height);
417 BW->bitmap.image->width,
418 BW->bitmap.image->height, 1);
426 BW->bitmap.image,
428 BW->bitmap.image->width,
429 BW->bitmap.image->height);
437 GetImage(BitmapWidget BW, Pixmap pixmap)
444 XGetGeometry(XtDisplay(BW), pixmap, &root, &x, &y,
447 source = XGetImage(XtDisplay(BW), pixmap, x, y, width, height,
450 image = ConvertToBitmapImage(BW, source);
456 CreateBitmapImage(BitmapWidget BW, char *data,
459 XImage *image = XCreateImage(XtDisplay(BW),
460 DefaultVisual(XtDisplay(BW),
461 DefaultScreen(XtDisplay(BW))),
499 BitmapWidget BW = (BitmapWidget) w;
501 return BW->bitmap.image;
508 BitmapWidget BW = (BitmapWidget) w;
510 if (BW->bitmap.notify)
511 (*BW->bitmap.notify)(w, NULL, NULL, NULL);
517 BitmapWidget BW = (BitmapWidget) w;
519 BW->bitmap.notify = proc;
525 BitmapWidget BW = (BitmapWidget) w;
527 BW->bitmap.changed = True;
533 BitmapWidget BW = (BitmapWidget) w;
535 return BW->bitmap.changed;
541 BitmapWidget BW = (BitmapWidget) w;
543 BW->bitmap.changed = False;
549 BitmapWidget BW = (BitmapWidget) w;
551 return (BW->bitmap.storage != NULL);
557 BitmapWidget BW = (BitmapWidget) w;
559 return BW->bitmap.stippled;
563 RedrawStippled(BitmapWidget BW)
568 event.display = XtDisplay((Widget)BW);
569 event.window = XtWindow((Widget)BW);
572 event.width = BW->core.width;
573 event.height = BW->core.height;
576 BWRedrawMark((Widget)BW);
578 BW->bitmap.stipple_change_expose_event = True;
582 BW->bitmap.stipple_change_expose_event = False;
588 BitmapWidget BW = (BitmapWidget) w;
590 RedrawStippled(BW);
592 BW->bitmap.stippled ^= True;
593 XSetFillStyle(XtDisplay(BW), BW->bitmap.highlighting_gc,
594 (BW->bitmap.stippled ? FillStippled : FillSolid));
596 RedrawStippled(BW);
611 BitmapWidget BW = (BitmapWidget) w;
613 return BW->bitmap.axes;
619 BitmapWidget BW = (BitmapWidget) w;
621 BW->bitmap.axes ^= True;
628 BitmapWidget BW = (BitmapWidget) w;
630 if (BW->bitmap.axes != _switch)
637 BitmapWidget BW = (BitmapWidget) w;
639 if (BW->bitmap.axes)
648 BitmapWidget BW = (BitmapWidget) w;
650 XPutImage(display, drawable, gc, BW->bitmap.image,
651 0, 0, x, y, BW->bitmap.image->width, BW->bitmap.image->height);
985 BitmapWidget BW = (BitmapWidget) w;
987 return QuerySet(BW->bitmap.mark.from_x, BW->bitmap.mark.from_y);
991 FixMark(BitmapWidget BW)
993 if (QuerySet(BW->bitmap.mark.from_x, BW->bitmap.mark.from_y)) {
994 BW->bitmap.mark.from_x = min(BW->bitmap.mark.from_x,
995 BW->bitmap.image->width);
996 BW->bitmap.mark.from_y = min(BW->bitmap.mark.from_y,
997 BW->bitmap.image->height);
998 BW->bitmap.mark.to_x = min(BW->bitmap.mark.to_x,
999 BW->bitmap.image->width);
1000 BW->bitmap.mark.to_y = min(BW->bitmap.mark.to_y,
1001 BW->bitmap.image->height);
1003 if((BW->bitmap.mark.from_x == BW->bitmap.mark.from_y) &&
1004 (BW->bitmap.mark.to_x == BW->bitmap.mark.to_y))
1005 BW->bitmap.mark.from_x =
1006 BW->bitmap.mark.from_y =
1007 BW->bitmap.mark.to_x =
1008 BW->bitmap.mark.to_y = NotSet;
1016 BitmapWidget BW = (BitmapWidget) w;
1026 DestroyBitmapImage(&BW->bitmap.storage);
1028 BW->bitmap.storage = CreateBitmapImage(BW, (char *)storage_data, width, height);
1041 BitmapWidget BW = (BitmapWidget) w;
1043 snprintf(BW->bitmap.status, sizeof(BW->bitmap.status),
1045 (strcmp(BW->bitmap.filename, "") ? BW->bitmap.filename : "<none>"),
1046 (strcmp(BW->bitmap.basename, "") ? BW->bitmap.basename : "<none>"),
1047 BW->bitmap.width, BW->bitmap.height);
1049 return BW->bitmap.status;
1055 BitmapWidget BW = (BitmapWidget) w;
1058 XtFree(BW->bitmap.filename);
1059 BW->bitmap.filename = XtNewString( str);
1066 BitmapWidget BW = (BitmapWidget) w;
1069 XtFree(BW->bitmap.basename);
1070 BW->bitmap.basename = XtNewString(str);
1078 BitmapWidget BW = (BitmapWidget) w;
1087 filename = BW->bitmap.filename;
1095 image = CreateBitmapImage(BW, (char *)image_data, width, height);
1096 buffer = CreateBitmapImage(BW, buffer_data, width, height);
1098 TransferImageData(BW->bitmap.image, buffer);
1100 DestroyBitmapImage(&BW->bitmap.image);
1101 DestroyBitmapImage(&BW->bitmap.buffer);
1103 BW->bitmap.image = image;
1104 BW->bitmap.buffer = buffer;
1105 BW->bitmap.width = width;
1106 BW->bitmap.height = height;
1108 BW->bitmap.hot.x = x_hot;
1109 BW->bitmap.hot.y = y_hot;
1111 BW->bitmap.changed = False;
1112 BW->bitmap.zooming = False;
1114 XtFree(BW->bitmap.filename);
1115 BW->bitmap.filename = XtNewString(filename);
1116 XtFree(BW->bitmap.basename);
1117 BW->bitmap.basename = StripFilename(filename);
1121 Resize((Widget)BW);
1123 if (BW->core.visible) {
1124 XClearArea(XtDisplay(BW), XtWindow(BW),
1126 BW->core.width, BW->core.height,
1142 BitmapWidget BW = (BitmapWidget) w;
1147 buffer = CreateBitmapImage(BW, buffer_data,
1151 TransferImageData(BW->bitmap.image, buffer);
1153 DestroyBitmapImage(&BW->bitmap.image);
1154 DestroyBitmapImage(&BW->bitmap.buffer);
1156 BW->bitmap.image = image;
1157 BW->bitmap.buffer = buffer;
1158 BW->bitmap.width = image->width;
1159 BW->bitmap.height = image->height;
1161 Resize((Widget)BW);
1163 if (BW->core.visible) {
1164 XClearArea(XtDisplay(BW), XtWindow(BW),
1166 BW->core.width, BW->core.height,
1175 BitmapWidget BW = (BitmapWidget) w;
1181 if (BW->bitmap.zooming) {
1182 data = XtMalloc(Length(BW->bitmap.zoom.image->width,
1183 BW->bitmap.zoom.image->height));
1184 memmove( data, BW->bitmap.zoom.image->data,
1185 Length(BW->bitmap.zoom.image->width,
1186 BW->bitmap.zoom.image->height));
1187 image = CreateBitmapImage(BW, data,
1188 (Dimension) BW->bitmap.zoom.image->width,
1189 (Dimension) BW->bitmap.zoom.image->height);
1190 CopyImageData(BW->bitmap.image, image,
1192 BW->bitmap.image->width - 1,
1193 BW->bitmap.image->height - 1,
1194 BW->bitmap.zoom.at_x, BW->bitmap.zoom.at_y);
1196 if (QuerySet(BW->bitmap.hot.x, BW->bitmap.hot.y)) {
1197 hot.x = BW->bitmap.hot.x + BW->bitmap.zoom.at_x;
1198 hot.y = BW->bitmap.hot.y + BW->bitmap.zoom.at_y;
1201 hot = BW->bitmap.zoom.hot;
1204 image = BW->bitmap.image;
1205 hot = BW->bitmap.hot;
1208 if (!filename) filename = BW->bitmap.filename;
1210 XtFree(BW->bitmap.filename);
1211 BW->bitmap.filename = XtNewString(filename);
1212 XtFree(BW->bitmap.basename);
1213 BW->bitmap.basename = StripFilename(filename);
1215 if (!basename) basename = BW->bitmap.basename;
1217 XtFree(BW->bitmap.basename);
1218 BW->bitmap.basename = XtNewString(basename);
1227 if (BW->bitmap.zooming)
1231 BW->bitmap.changed = False;
1239 BitmapWidget BW = (BitmapWidget) w;
1241 *str = XtNewString(BW->bitmap.filename);
1249 BitmapWidget BW = (BitmapWidget) w;
1252 *str = XtNewString(BW->bitmap.filename);
1269 BitmapWidget BW = (BitmapWidget) w;
1271 *str = XtNewString(BW->bitmap.basename);
1277 FixHotSpot(BitmapWidget BW)
1279 if (!QueryInBitmap(BW, BW->bitmap.hot.x, BW->bitmap.hot.y))
1280 BW->bitmap.hot.x = BW->bitmap.hot.y = NotSet;
1284 ZoomOut(BitmapWidget BW)
1286 CopyImageData(BW->bitmap.image, BW->bitmap.zoom.image,
1288 BW->bitmap.image->width - 1,
1289 BW->bitmap.image->height - 1,
1290 BW->bitmap.zoom.at_x, BW->bitmap.zoom.at_y);
1292 DestroyBitmapImage(&BW->bitmap.image);
1293 DestroyBitmapImage(&BW->bitmap.buffer);
1295 BW->bitmap.image = BW->bitmap.zoom.image;
1296 BW->bitmap.buffer = BW->bitmap.zoom.buffer;
1297 BW->bitmap.width = BW->bitmap.image->width;
1298 BW->bitmap.height = BW->bitmap.image->height;
1299 BW->bitmap.fold = BW->bitmap.zoom.fold;
1300 BW->bitmap.changed |= BW->bitmap.zoom.changed;
1301 BW->bitmap.grid = BW->bitmap.zoom.grid;
1303 if (QuerySet(BW->bitmap.hot.x, BW->bitmap.hot.y)) {
1304 BW->bitmap.hot.x += BW->bitmap.zoom.at_x;
1305 BW->bitmap.hot.y += BW->bitmap.zoom.at_y;
1308 BW->bitmap.hot = BW->bitmap.zoom.hot;
1310 BW->bitmap.mark.from_x = NotSet;
1311 BW->bitmap.mark.from_y = NotSet;
1312 BW->bitmap.mark.to_x = NotSet;
1313 BW->bitmap.mark.to_y = NotSet;
1314 BW->bitmap.zooming = False;
1320 BitmapWidget BW = (BitmapWidget) w;
1322 if (BW->bitmap.zooming) {
1323 ZoomOut(BW);
1325 Resize((Widget)BW);
1326 if (BW->core.visible)
1327 XClearArea(XtDisplay(BW), XtWindow(BW),
1329 BW->core.width, BW->core.height,
1338 BitmapWidget BW = (BitmapWidget) w;
1341 BW->bitmap.mark.from_x, BW->bitmap.mark.from_y,
1342 BW->bitmap.mark.to_x, BW->bitmap.mark.to_y);
1350 BitmapWidget BW = (BitmapWidget) w;
1355 if (BW->bitmap.zooming)
1356 ZoomOut(BW);
1362 to_x = min(BW->bitmap.width - 1, to_x);
1363 to_y = min(BW->bitmap.height - 1, to_y);
1371 image = CreateBitmapImage(BW, image_data, width, height);
1372 buffer = CreateBitmapImage(BW, buffer_data, width, height);
1374 CopyImageData(BW->bitmap.image, image, from_x, from_y, to_x, to_y, 0, 0);
1375 CopyImageData(BW->bitmap.buffer, buffer, from_x, from_y, to_x, to_y, 0, 0);
1377 BW->bitmap.zoom.image = BW->bitmap.image;
1378 BW->bitmap.zoom.buffer = BW->bitmap.buffer;
1379 BW->bitmap.zoom.at_x = from_x;
1380 BW->bitmap.zoom.at_y = from_y;
1381 BW->bitmap.zoom.fold = BW->bitmap.fold;
1382 BW->bitmap.zoom.changed = BW->bitmap.changed;
1383 BW->bitmap.zoom.hot = BW->bitmap.hot;
1384 BW->bitmap.zoom.grid = BW->bitmap.grid;
1386 BW->bitmap.image = image;
1387 BW->bitmap.buffer = buffer;
1388 BW->bitmap.width = width;
1389 BW->bitmap.height = height;
1390 BW->bitmap.changed = False;
1391 BW->bitmap.hot.x -= from_x;
1392 BW->bitmap.hot.y -= from_y;
1393 BW->bitmap.mark.from_x = NotSet;
1394 BW->bitmap.mark.from_y = NotSet;
1395 BW->bitmap.mark.to_x = NotSet;
1396 BW->bitmap.mark.to_y = NotSet;
1397 BW->bitmap.zooming = True;
1398 BW->bitmap.grid = True; /* potentially true, could use a resource here */
1400 FixHotSpot(BW);
1402 Resize((Widget)BW);
1403 if (BW->core.visible)
1404 XClearArea(XtDisplay(BW), XtWindow(BW),
1406 BW->core.width, BW->core.height,
1414 BitmapWidget BW = (BitmapWidget) w;
1418 if (BW->bitmap.zooming)
1419 ZoomOut(BW);
1421 image = ScaleBitmapImage(BW, BW->bitmap.image,
1422 (double) width / (double) BW->bitmap.image->width,
1423 (double) height / (double) BW->bitmap.image->height);
1426 buffer = CreateBitmapImage(BW, buffer_data,
1430 TransferImageData(BW->bitmap.buffer, buffer);
1432 DestroyBitmapImage(&BW->bitmap.image);
1433 DestroyBitmapImage(&BW->bitmap.buffer);
1435 BW->bitmap.image = image;
1436 BW->bitmap.buffer = buffer;
1437 BW->bitmap.width = image->width;
1438 BW->bitmap.height = image->height;
1440 FixHotSpot(BW);
1441 FixMark(BW);
1443 Resize((Widget)BW);
1444 if (BW->core.visible)
1445 XClearArea(XtDisplay(BW), XtWindow(BW),
1447 BW->core.width, BW->core.height,
1454 BitmapWidget BW = (BitmapWidget) w;
1456 return BW->bitmap.zooming;
1461 ResizeGrid(BitmapWidget BW, Dimension width, Dimension height)
1466 if (BW->bitmap.zooming)
1467 ZoomOut(BW);
1472 image = CreateBitmapImage(BW, image_data, width, height);
1473 buffer = CreateBitmapImage(BW, buffer_data, width, height);
1475 TransferImageData(BW->bitmap.image, image);
1476 TransferImageData(BW->bitmap.buffer, buffer);
1478 DestroyBitmapImage(&BW->bitmap.image);
1479 DestroyBitmapImage(&BW->bitmap.buffer);
1481 BW->bitmap.image = image;
1482 BW->bitmap.buffer = buffer;
1483 BW->bitmap.width = width;
1484 BW->bitmap.height = height;
1486 FixHotSpot(BW);
1487 FixMark(BW);
1493 BitmapWidget BW = (BitmapWidget) w;
1495 ResizeGrid(BW, width, height);
1497 Resize((Widget)BW);
1498 if (BW->core.visible)
1499 XClearArea(XtDisplay(BW), XtWindow(BW),
1501 BW->core.width, BW->core.height,
1508 BitmapWidget BW = (BitmapWidget) w;
1510 XFreeGC(XtDisplay(w), BW->bitmap.drawing_gc);
1511 XFreeGC(XtDisplay(w), BW->bitmap.highlighting_gc);
1512 XFreeGC(XtDisplay(w), BW->bitmap.frame_gc);
1513 XFreeGC(XtDisplay(w), BW->bitmap.axes_gc);
1516 XtFree(BW->bitmap.filename);
1517 XtFree(BW->bitmap.basename);
1524 BitmapWidget BW = (BitmapWidget) w;
1528 squareW = max(1, ((int)BW->core.width - 2 * (int)BW->bitmap.margin) /
1529 (int)BW->bitmap.width);
1530 squareH = max(1, ((int)BW->core.height - 2 * (int)BW->bitmap.margin) /
1531 (int)BW->bitmap.height);
1533 if (BW->bitmap.proportional)
1534 BW->bitmap.squareW = BW->bitmap.squareH = min(squareW, squareH);
1536 BW->bitmap.squareW = squareW;
1537 BW->bitmap.squareH = squareH;
1540 BW->bitmap.horizOffset = max((Position)BW->bitmap.margin,
1541 (Position)(BW->core.width -
1542 BW->bitmap.width *
1543 BW->bitmap.squareW) / 2);
1544 BW->bitmap.vertOffset = max((Position)BW->bitmap.margin,
1545 (Position)(BW->core.height -
1546 BW->bitmap.height *
1547 BW->bitmap.squareH) / 2);
1549 BW->bitmap.grid &= ((BW->bitmap.squareW > BW->bitmap.grid_tolerance) &&
1550 (BW->bitmap.squareH > BW->bitmap.grid_tolerance));
1557 BitmapWidget BW = (BitmapWidget) w;
1561 BW->core.visible)
1562 if (BW->bitmap.stipple_change_expose_event == False)
1563 Refresh(BW,
1573 BitmapWidget BW = (BitmapWidget) w;
1576 from_x = InBitmapX(BW, x);
1577 from_y = InBitmapY(BW, y);
1578 to_x = InBitmapX(BW, x + width);
1579 to_y = InBitmapY(BW, y + height);
1584 to_x = min(BW->bitmap.width - 1, to_x);
1585 to_y = min(BW->bitmap.height - 1, to_y);
1587 rectangle.x = InWindowX(BW, from_x);
1588 rectangle.y = InWindowY(BW, from_y);
1589 rectangle.width = InWindowX(BW, to_x + 1) - InWindowX(BW, from_x);
1590 rectangle.height = InWindowY(BW, to_y + 1) - InWindowY(BW, from_y);
1591 XSetClipRectangles(XtDisplay(BW),
1592 BW->bitmap.highlighting_gc,
1596 XSetClipRectangles(XtDisplay(BW),
1597 BW->bitmap.drawing_gc,
1601 XSetClipRectangles(XtDisplay(BW),
1602 BW->bitmap.frame_gc,
1606 XSetClipRectangles(XtDisplay(BW),
1607 BW->bitmap.axes_gc,
1616 BitmapWidget BW = (BitmapWidget) w;
1619 rectangle.x = InWindowX(BW, 0);
1620 rectangle.y = InWindowY(BW, 0);
1621 rectangle.width = InWindowX(BW, BW->bitmap.width) - InWindowX(BW, 0);
1622 rectangle.height = InWindowY(BW, BW->bitmap.height) - InWindowY(BW, 0);
1623 XSetClipRectangles(XtDisplay(BW),
1624 BW->bitmap.highlighting_gc,
1628 XSetClipRectangles(XtDisplay(BW),
1629 BW->bitmap.drawing_gc,
1633 XSetClipRectangles(XtDisplay(BW),
1634 BW->bitmap.frame_gc,
1638 XSetClipRectangles(XtDisplay(BW),
1639 BW->bitmap.axes_gc,
1646 Refresh(BitmapWidget BW, Position x, Position y,
1651 rectangle.x = min(x, InWindowX(BW, InBitmapX(BW, x)));
1652 rectangle.y = min(y, InWindowY(BW, InBitmapY(BW, y)));
1654 InWindowX(BW, InBitmapX(BW, x + width)+1)) - rectangle.x;
1656 InWindowY(BW, InBitmapY(BW, y + height)+1)) - rectangle.y;
1658 XClearArea(XtDisplay(BW), XtWindow(BW),
1663 XSetClipRectangles(XtDisplay(BW),
1664 BW->bitmap.frame_gc,
1669 XDrawRectangle(XtDisplay(BW), XtWindow(BW),
1670 BW->bitmap.frame_gc,
1671 InWindowX(BW, 0) - 1, InWindowY(BW, 0) - 1,
1672 InWindowX(BW, BW->bitmap.width) - InWindowX(BW, 0) + 1,
1673 InWindowY(BW, BW->bitmap.height) - InWindowY(BW, 0) + 1);
1675 BWClip((Widget) BW, x, y, width, height);
1677 BWRedrawGrid((Widget) BW, x, y, width, height);
1679 BWRedrawSquares((Widget) BW, x, y, width, height);
1681 BWRedrawMark((Widget) BW);
1682 BWRedrawHotSpot((Widget) BW);
1683 BWRedrawAxes((Widget) BW);
1684 BWUnclip((Widget) BW);
1690 BitmapWidget BW = (BitmapWidget) w;
1692 return BW->bitmap.grid;
1698 BitmapWidget BW = (BitmapWidget) w;
1699 BW->bitmap.grid ^= TRUE;
1702 BW->bitmap.image->width - 1, BW->bitmap.image->height - 1);
1708 BitmapWidget BW = (BitmapWidget) w;
1710 if (BW->bitmap.grid != _switch)
1717 BitmapWidget BW = (BitmapWidget) w;
1719 return (BW->bitmap.dashed);
1725 BitmapWidget BW = (BitmapWidget) w;
1728 BWRedrawGrid(w, 0, 0, BW->bitmap.width - 1, BW->bitmap.height - 1);
1732 rectangle.width = BW->core.width;
1733 rectangle.height = BW->core.height;
1735 XSetClipRectangles(XtDisplay(BW),
1736 BW->bitmap.frame_gc,
1741 XDrawRectangle(XtDisplay(BW), XtWindow(BW),
1742 BW->bitmap.frame_gc,
1743 InWindowX(BW, 0) - 1, InWindowY(BW, 0) - 1,
1744 InWindowX(BW, BW->bitmap.width) - InWindowX(BW, 0) + 1,
1745 InWindowY(BW, BW->bitmap.height) - InWindowY(BW, 0) + 1);
1747 BW->bitmap.dashed ^= True;
1748 XSetFillStyle(XtDisplay(BW), BW->bitmap.frame_gc,
1749 (BW->bitmap.dashed ? FillStippled : FillSolid));
1751 XDrawRectangle(XtDisplay(BW), XtWindow(BW),
1752 BW->bitmap.frame_gc,
1753 InWindowX(BW, 0) - 1, InWindowY(BW, 0) - 1,
1754 InWindowX(BW, BW->bitmap.width) - InWindowX(BW, 0) + 1,
1755 InWindowY(BW, BW->bitmap.height) - InWindowY(BW, 0) + 1);
1759 BWRedrawGrid(w, 0, 0, BW->bitmap.width - 1, BW->bitmap.height - 1);
1765 BitmapWidget BW = (BitmapWidget) w;
1767 if (BW->bitmap.dashed != _switch)
1891 BitmapWidget BW = (BitmapWidget) w;
1893 return (BW->bitmap.proportional);
1899 BitmapWidget BW = (BitmapWidget) w;
1901 BW->bitmap.proportional ^= True;
1903 Resize((Widget)BW);
1904 if (BW->core.visible)
1905 XClearArea(XtDisplay(BW), XtWindow(BW),
1907 BW->core.width, BW->core.height,
1915 BitmapWidget BW = (BitmapWidget) w;
1917 if (BW->bitmap.proportional != _switch)
1925 BitmapWidget BW = (BitmapWidget) w;
1936 (BWStatus*) BW->bitmap.request_stack[BW->bitmap.current].status,
1943 BitmapWidget BW = (BitmapWidget) w;
1948 (BWStatus*) BW->bitmap.request_stack[BW->bitmap.current].status,