base_rect.c.svn-base
来自「SumatraPDF是一款小型开源的pdf阅读工具。虽然玲珑小巧(只有800多K」· SVN-BASE 代码 · 共 76 行
SVN-BASE
76 行
#include "fitz-base.h"fz_rect fz_infiniterect = { 1, 1, -1, -1 };fz_rect fz_emptyrect = { 0, 0, 0, 0 };static fz_irect infinite = { 1, 1, -1, -1 };static fz_irect empty = { 0, 0, 0, 0 };fz_irectfz_roundrect(fz_rect f){ fz_irect i; i.x0 = fz_floor(f.x0); i.y0 = fz_floor(f.y0); i.x1 = fz_ceil(f.x1); i.y1 = fz_ceil(f.y1); return i;}fz_rectfz_intersectrects(fz_rect a, fz_rect b){ fz_rect r; if (fz_isinfiniterect(a)) return b; if (fz_isinfiniterect(b)) return a; r.x0 = MAX(a.x0, b.x0); r.y0 = MAX(a.y0, b.y0); r.x1 = MIN(a.x1, b.x1); r.y1 = MIN(a.y1, b.y1); return (r.x1 < r.x0 || r.y1 < r.y0) ? fz_emptyrect : r;}fz_rectfz_mergerects(fz_rect a, fz_rect b){ fz_rect r; if (fz_isinfiniterect(a) || fz_isinfiniterect(b)) return fz_infiniterect; if (fz_isemptyrect(a)) return b; if (fz_isemptyrect(b)) return a; r.x0 = MIN(a.x0, b.x0); r.y0 = MIN(a.y0, b.y0); r.x1 = MAX(a.x1, b.x1); r.y1 = MAX(a.y1, b.y1); return r;}fz_irectfz_intersectirects(fz_irect a, fz_irect b){ fz_irect r; if (fz_isinfiniterect(a)) return b; if (fz_isinfiniterect(b)) return a; r.x0 = MAX(a.x0, b.x0); r.y0 = MAX(a.y0, b.y0); r.x1 = MIN(a.x1, b.x1); r.y1 = MIN(a.y1, b.y1); return (r.x1 < r.x0 || r.y1 < r.y0) ? empty : r;}fz_irectfz_mergeirects(fz_irect a, fz_irect b){ fz_irect r; if (fz_isinfiniterect(a) || fz_isinfiniterect(b)) return infinite; if (fz_isemptyrect(a)) return b; if (fz_isemptyrect(b)) return a; r.x0 = MIN(a.x0, b.x0); r.y0 = MIN(a.y0, b.y0); r.x1 = MAX(a.x1, b.x1); r.y1 = MAX(a.y1, b.y1); return r;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?