static int bbox_draw_thin_line(gx_device * dev, fixed fx0, fixed fy0, fixed fx1, fixed fy1, const gx_device_color * pdevc, gs_logical_operation_t lop, fixed adjustx, fixed adjusty) { gx_device_bbox *const bdev = (gx_device_bbox *) dev; /* Skip the call if there is no target. */ gx_device *tdev = bdev->target; int code = (tdev == 0 ? 0 : dev_proc(tdev, draw_thin_line) (tdev, fx0, fy0, fx1, fy0, pdevc, lop, adjustx, adjusty)); if (!GX_DC_IS_TRANSPARENT(pdevc, bdev)) { fixed xmin, ymin, xmax, ymax; /* bbox_add_rect requires points in correct order. */ #define SET_MIN_MAX(vmin, vmax, av, bv)\ BEGIN\ if (av < bv)\ vmin = av, vmax = bv;\ else\ vmin = bv, vmax = av;\ END SET_MIN_MAX(xmin, xmax, fx0, fx1); SET_MIN_MAX(ymin, ymax, fy0, fy1); #undef SET_MIN_MAX BBOX_ADD_RECT(bdev, xmin, ymin, xmax, ymax); } return code; }
LRESULT SDCPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { PropPage::translate((HWND)(*this), texts); PropPage::read(*this, items); CUpDownCtrl updown; SET_MIN_MAX(IDC_BUFFER_SPIN, 0, 1024 * 1024); SET_MIN_MAX(IDC_READ_SPIN, 1024, 128 * 1024); SET_MIN_MAX(IDC_WRITE_SPIN, 1024, 128 * 1024); SET_MIN_MAX(IDC_CHAT_LINES_SPIN, 0, 999); SET_MIN_MAX(IDC_SHUTDOWN_SPIN , 1, 3600); SET_MIN_MAX(IDC_MAX_COMP_SPIN, 0, 9); SET_MIN_MAX(IDC_DOWNCONN_SPIN, 0, 100); SET_MIN_MAX(IDC_SET_MIN_LENGHT_FOR_CHUNKS_SPIN, 0, 100); ctrlShutdownAction.Attach(GetDlgItem(IDC_COMBO1)); ctrlShutdownAction.AddString(CTSTRING(POWER_OFF)); ctrlShutdownAction.AddString(CTSTRING(LOG_OFF)); ctrlShutdownAction.AddString(CTSTRING(REBOOT)); ctrlShutdownAction.AddString(CTSTRING(SUSPEND)); ctrlShutdownAction.AddString(CTSTRING(HIBERNATE)); ctrlShutdownAction.SetCurSel(SETTING(SHUTDOWN_ACTION)); fixControls(); return TRUE; }
static int bbox_fill_parallelogram(gx_device * dev, fixed px, fixed py, fixed ax, fixed ay, fixed bx, fixed by, const gx_device_color * pdevc, gs_logical_operation_t lop) { gx_device_bbox *const bdev = (gx_device_bbox *) dev; /* Skip the call if there is no target. */ gx_device *tdev = bdev->target; int code = (tdev == 0 ? 0 : dev_proc(tdev, fill_parallelogram) (tdev, px, py, ax, ay, bx, by, pdevc, lop)); if (!GX_DC_IS_TRANSPARENT(pdevc, bdev)) { fixed xmin, ymin, xmax, ymax; /* bbox_add_rect requires points in correct order. */ #define SET_MIN_MAX(vmin, vmax, av, bv)\ BEGIN\ if (av <= 0) {\ if (bv <= 0)\ vmin = av + bv, vmax = 0;\ else\ vmin = av, vmax = bv;\ } else if (bv <= 0)\ vmin = bv, vmax = av;\ else\ vmin = 0, vmax = av + bv;\ END SET_MIN_MAX(xmin, xmax, ax, bx); SET_MIN_MAX(ymin, ymax, ay, by); #undef SET_MIN_MAX BBOX_ADD_RECT(bdev, px + xmin, py + ymin, px + xmax, py + ymax); } return code; }