grect WinRT::rotateViewport(grect viewport) { static int w = 0; static int h = 0; if (w == 0 || h == 0) { gvec2 resolution = april::getSystemInfo().displayResolution; w = hround(resolution.x); h = hround(resolution.y); CHECK_SWAP(w, h); } int rotation = WinRT::getScreenRotation(); if (rotation == 90) { hswap(viewport.x, viewport.y); hswap(viewport.w, viewport.h); viewport.x = w - (viewport.x + viewport.w); } else if (rotation == 180) { viewport.x = w - (viewport.x + viewport.w); viewport.y = h - (viewport.y + viewport.h); } else if (rotation == 270) { hswap(viewport.x, viewport.y); hswap(viewport.w, viewport.h); viewport.y = h - (viewport.y + viewport.h); } return viewport; }
bool ScrollBar::onMouseScroll(float x, float y) { if (Object::onMouseScroll(x, y)) { return true; } Container* parent = dynamic_cast<Container*>(this->parent); if (parent != NULL && (parent->isCursorInside() || this->isCursorInside())) { ScrollArea* area = parent->_getScrollArea(); if (area != NULL && area->isSwapScrollWheels()) { hswap(x, y); } this->addScrollValue(this->_calcScrollMove(x, y)); } return false; }
int main (int argc,char *argv[]) { double sigx = 0.0 ,sigx2 = 0.0, sig; int nn,ne,cval = 0,num_attemp = 0,mincval = 32600; int *igraph, *ma,*mb,*costa,oneflag = 1; /* ,*check,x; */ nodez *alist; indextype *sindex; clock_t startt; float matcht = 0,partt= 0,swapt = 0,bestt,ttime,curtime,run_time; periodt(); startt = clock(); srand(32063); getgraph(argc,argv,&igraph,&ma,&mb,&sindex, &nn,&ne,&alist); cand_list_size = atoi(argv[4]); if(argv[3][0] == '4') big_flag = 0; run_time = atof(argv[5]); readgraph(ne,nn,igraph,alist); curtime = clock()/CLK_TCK; while (curtime < run_time * 2) { num_attemp++; remem(&costa,nn); switch (argv[2][0]) { case '1': heappart(costa,nn,ma,mb,alist); partt += periodt(); break; case '2': greedypart(costa,nn,ma,mb,sindex,alist); partt += periodt(); break; default : exit(0); } switch (argv[3][0]) { case '1': hswap(igraph,ma,mb,costa,nn,&cval,alist); break; case '2': slightswap(igraph,ma,mb,costa,nn,&cval,alist); break; case '3': slightestswap(igraph,ma,mb,costa,nn,&cval,alist); break; case '4': aslightswap(ma,mb,costa,nn,&cval,alist); break; default : hswap(igraph,ma,mb,costa,nn,&cval,alist); } swapt += periodt(); free(costa); sig = cval; sigx += sig; sigx2 += (sig * sig); if (cval < mincval) { bestt = ((clock() - startt)/CLK_TCK); mincval = cval; /* check = (int *) calloc (nn + 1,sizeof(int)); for(x = 1; x<= nn / 2; x++) { check[ma[x]]++; check[mb[x]]++; } for (x = 1; x<= nn; x++) printf("\ncheck %d: %d",x,check[x]); printf("\n\n"); free(check); */ } cval = 0; curtime = clock()/CLK_TCK; if (!oneflag && curtime >= run_time) { oneflag++; ttime = ((clock() - startt)/CLK_TCK); printf("%d\n",mincval); printf("%f\n",ttime); printf("%f\n",bestt); printf("%f\n",matcht); printf("%f\n",partt); printf("%f\n",swapt); printf("%lg\n",sigx); printf("%lg\n",sigx2); printf("%d\n",num_attemp); } } /* while */ ttime = ((clock() - startt)/CLK_TCK); printf("min cost = %d\n",mincval); // printf("%f\n",ttime); // printf("%f\n",bestt); // printf("%f\n",matcht); // printf("%f\n",partt); // printf("%f\n",swapt); // printf("%lg\n",sigx); // printf("%lg\n",sigx2); printf("number of attempts = %d\n",num_attemp); free (alist); if (big_flag) free(igraph); free (ma); free(mb); free (sindex); return EXIT_SUCCESS; }