static status setPointerResizeGesture(ResizeGesture g, Graphical gr, EventObj ev) { Point pos; Name hm = g->h_mode, vm = g->v_mode; Int w, h, px = ZERO, py = ZERO; /* keep compiler happy */ w = gr->area->w; h = gr->area->h; if ( hm == NAME_keep || vm == NAME_keep ) { Int cx, cy; get_xy_event(ev, gr, ON, &cx, &cy); if ( hm == NAME_keep && vm == NAME_top ) px = cx, py = ZERO; else if ( hm == NAME_keep && vm == NAME_bottom ) px = cx, py = h; else if ( hm == NAME_left && vm == NAME_keep ) px = ZERO, py = cy; else if ( hm == NAME_right && vm == NAME_keep ) px = w, py = cy; else NOTREACHED; } else { if ( hm == NAME_left && vm == NAME_top ) px = ZERO, py = ZERO; else if ( hm == NAME_right && vm == NAME_top ) px = w, py = ZERO; else if ( hm == NAME_left && vm == NAME_bottom ) px = ZERO, py = h; else if ( hm == NAME_right && vm == NAME_bottom ) px = w, py = h; else NOTREACHED; } pos = tempObject(ClassPoint, px, py, EAV); pointerGraphical(gr, pos); considerPreserveObject(pos); succeed; }
StringObj CtoTempString(char *s) { CharArray c = CtoScratchCharArray(s); StringObj str = tempObject(ClassString, name_procent_s, c, EAV); doneScratchCharArray(c); return str; }
StringObj create_string_from_str(String s, int tmp) { string s2; CharArray c; StringObj str; charA *do_free = NULL; if ( s->s_iswide ) { const charW *txt = s->s_textW; const charW *end = &txt[s->s_size]; charA *p; for( ; txt < end; txt++ ) { if ( *txt > 0xff ) goto canonical; } str_inithdr(&s2, FALSE); s2.s_size = s->s_size; if ( !(s2.s_textA = alloca(s->s_size)) ) { s2.s_textA = pceMalloc(s->s_size); do_free = s2.s_textA; } for(txt = s->s_textW, p = s2.s_textA; txt < end; ) *p++ = *txt++; s = &s2; } canonical: c = StringToScratchCharArray(s); if ( tmp ) str = tempObject(ClassString, name_procent_s, c, EAV); else str = answerObject(ClassString, name_procent_s, c, EAV); doneScratchCharArray(c); if ( do_free ) pceFree(do_free); return str; }
void Object::setTracebackMode(int tracebackModeValue) { if (tracebackModeValue < 0) tracebackModeValue = 0; Object tempObject(tracebackModeValue); }