//----------------------- SUB FRAME BY LIMITS ------------------------ MemoryFrame MemoryFrame::getSubFrameByLimits(int from, int to) { from = _limit(from, 0, this->frameSize); to = _limit(to, from, this->frameSize); return MemoryFrame( (void*)((int)this->frameBase + from), to - from); }
//----------------------- SUB FRAME BY SIZE -------------------------- MemoryFrame MemoryFrame::getSubFrame(int from, int size) { from = _limit(from, 0, this->frameSize); size = _limit(size, 0, this->frameSize-from); return MemoryFrame( (void*)((int)this->frameBase + from), size); }
static inline GLuint _check_u(GLuint value, const char* query_name) { OGLPLUS_HANDLE_ERROR_IF( !(value < _limit()), GL_INVALID_VALUE, LimitError::Message(), LimitError, Value(value). Limit(_limit()). EnumParam(Query, query_name) ); return value; }
// 12.63 % of time - this can improve static void _calc_spans(RGBA_Map_Point *p, Line *spans, int ystart, int yend, int cx, int cy, int cw, int ch) { int i, y, yp; int py[4]; int edge[4][4], edge_num, swapped, order[4]; FPc uv[4][2], u, v, x, h, t; DATA32 col[4]; #if 1 // maybe faster on x86? for (i = 0; i < 4; i++) py[i] = p[i].y >> FP; # define PY(x) (py[x]) #else # define PY(x) (p[x].y >> FP) #endif if ((PY(0) == PY(1)) && (PY(0) == PY(2)) && (PY(0) == PY(3))) { int leftp, rightp; int nocol = 1; leftp = rightp = 0; for (i = 1; i < 4; i++) { if (p[i].x < p[leftp].x) leftp = i; if (p[i].x > p[rightp].x) rightp = i; if (p[i].col != 0xffffffff) nocol = 0; } for (y = ystart; y <= yend; y++) { yp = y - ystart; if (y == PY(0)) { i = 0; spans[yp].span[i].x1 = p[leftp].x >> FP; spans[yp].span[i].o1 = p[leftp].x; spans[yp].span[i].u[0] = p[leftp].u; spans[yp].span[i].v[0] = p[leftp].v; spans[yp].span[i].col[0] = p[leftp].col; spans[yp].span[i].x2 = p[rightp].x >> FP; spans[yp].span[i].o2 = p[rightp].x; spans[yp].span[i].u[1] = p[rightp].u; spans[yp].span[i].v[1] = p[rightp].v; spans[yp].span[i].col[1] = p[rightp].col; if ((spans[yp].span[i].x1 >= (cx + cw)) || (spans[yp].span[i].x2 < cx)) spans[yp].span[i].x1 = -1; else { _limit(&(spans[yp].span[i]), cx, cx + cw, nocol); i++; spans[yp].span[i].x1 = -1; } } else
std::string CSvnController::log(const std::string& strURL, int nLimit, bool bXML, bool bVerbose) { std::string _log; _log += log(strURL); _log += _limit(nLimit); if (bXML) _log += _xml(); if (bVerbose) _log += _verbose(); return _log; //return dispatchToString(_log); }