这篇教程C++ sz函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sz函数的典型用法代码示例。如果您正苦于以下问题:C++ sz函数的具体用法?C++ sz怎么用?C++ sz使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sz函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: updinline void upd(nd *n){ if(!n) return; n->sz=sz(n->l)+1+sz(n->r);}
开发者ID:BinAccel,项目名称:competitive-programming,代码行数:4,
示例2: szvoid PointerCoverSvc::ProcessBigLabel(RefPtr<Pango::Layout> lay, const Point& pos){ DPoint sz(CalcTextSize(lay)); AddRect( RectASz(DPoint(pos), sz) );}
开发者ID:cargabsj175,项目名称:bombono-dvd,代码行数:5,
示例3: updvoid upd(item *v){ if (v) v->cnt = 1 + sz(v->l) + sz(v->r);}
开发者ID:Slava,项目名称:competitiveProgramming,代码行数:5,
示例4: szBOOL CVCAMetaParserMSXML::ParseMetaData( unsigned char *pMetadata, int nLength ){ CComBSTR sz( (char *)pMetadata ); VARIANT_BOOL vb; USES_CONVERSION; pMetadata[nLength] = '/0'; BSTR bstr = SysAllocString( A2W( (char *)pMetadata ) );// sz = CComBSTR("<?xml version=/"1.0/"?>/n<vca>/n <vca_hdr>/n <frame_id>10</frame_id>/n </vca_hdr>/n</vca>/n");// TRACE( (char *)pMetadata ); vb = m_pDOMDoc->loadXML( bstr);// FILE *pFile;// pFile = fopen( "C://vtmeta.txt", "a" );// fwrite( pMetadata, strlen( (char *)pMetadata ), 1, pFile );// fclose( pFile ); if( VARIANT_TRUE == vb ) { // Find the header ParseHeader(); ParseStab(); ParseObjects(); ParseEvents(); ParseCounts(); ParseBlobsImp(_XML_TAMPERMAP, &m_TamperInfo); ParseBlobsImp(_XML_SCENECHANGEMAP, &m_SceneChangeInfo); ParseBlobsImp(_XML_BLOBMAP, &m_BlobMap); ParseBlobsImp(_XML_STATBLOBMAP, &m_StationaryMap); ParseBlobsImp(_XML_SMOKEMAP,&m_SmokeMap); ParseBlobsImp(_XML_FIREMAP,&m_FireMap); ParseCE(); } else { // Loading the doc failed, find out why... MSXML2::IXMLDOMParseErrorPtr pErr = m_pDOMDoc->parseError; CString strLine, sResult; strLine.Format(_T(" ( line %u, column %u )"), pErr->Getline(), pErr->Getlinepos()); // Return validation results in message to the user. if (pErr->errorCode != S_OK) { sResult = CString("Validation failed on ") + CString ("/n=====================") + CString("/nReason: ") + CString( (char*)(pErr->Getreason())) + CString("/nSource: ") + CString( (char*)(pErr->GetsrcText())) + strLine + CString("/n"); ATLTRACE(sResult);// AfxMessageBox( (char *)pMetadata ); } }// memset( pMetadata, NULL, 2048 ); SysFreeString( bstr ); return TRUE;}
开发者ID:anyboo,项目名称:UCADemo,代码行数:67,
示例5: glAssertErrorvoid SceneGraph::present(SceneNode *camera){ glAssertError(); glCullFace(GL_BACK); glEnable(GL_CULL_FACE); glEnable(GL_DEPTH_TEST); glPolygonMode(GL_FRONT, GL_FILL); glDisable(GL_BLEND); glDepthMask(GL_TRUE); glAssertError(); // setup camera CameraInfo ci; camera->prepare(ci); ci = *camera->as<CameraSceneNode>()->cam_; glEnable(GL_LIGHT0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); Vec3 pos(1, 2, 3); normalize(pos); Matrix m(ci.mmat_); m.setTranslation(Vec3(0, 0, 0)); multiply(m, pos); glLightfv(GL_LIGHT0, GL_POSITION, &pos.x); Rgba ambLight(0.25f, 0.2f, 0.3f); glLightfv(GL_LIGHT0, GL_AMBIENT, &ambLight.r); Rgba diffLight(0.75f, 0.75f, 0.6f); glLightfv(GL_LIGHT0, GL_DIFFUSE, &diffLight.r); Rgba specLight(0.75f, 0.75f, 0.6f); glLightfv(GL_LIGHT0, GL_SPECULAR, &diffLight.r); Rgba zero(0, 0, 0); glLightModelfv(GL_LIGHT_MODEL_AMBIENT, &zero.r); glMatrixMode(GL_PROJECTION); glLoadIdentity(); Vec3 sz(ctx_->size()); float fy = tanf(ci.fovY / 360.0f * (float)3.1415927f); float fx = fy * sz.x / sz.y; glFrustum(-fx, fx, -fy, fy, 0.9f, 10000.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glAssertError(); // prepare all objects for (std::set<SceneNode*>::iterator ptr(scene_.begin()), end(scene_.end()); ptr != end; ++ptr) { if ((*ptr) != camera) { (*ptr)->prepare(ci); } } // render all objects static std::vector<std::pair<float, SceneNode *> > toDraw; toDraw.reserve(8000); Vec3 camBack(ci.back); for (int pno = 0; pno < p_num_passes; ++pno) { int pass = (1 << pno); toDraw.clear(); for (std::set<SceneNode*>::iterator ptr(scene_.begin()), end(scene_.end()); ptr != end; ++ptr) { if (((*ptr)->pass_ & pass) != 0) { toDraw.push_back(std::pair<float, SceneNode *>(dot((*ptr)->worldPos(), camBack), *ptr)); } } if (pass == p_transparent) { // transparency is sorted back-to-front std::sort(toDraw.begin(), toDraw.end(), CompareFarNear()); } else { // everything else is sorted front-to-back, to get early z rejection std::sort(toDraw.begin(), toDraw.end(), CompareNearFar()); } for (std::vector<std::pair<float, SceneNode *> >::iterator ptr(toDraw.begin()), end(toDraw.end()); ptr != end; ++ptr) { (*ptr).second->render(ci, pass); } } glAssertError();}
开发者ID:amaula,项目名称:ode-0.12,代码行数:94,
示例6: szcv::Rect ObjectDetection::testClassifyMultiScale(cv::Mat& img, int stride, double& prob){// cv::imshow("object detector", img);// int c = cv::waitKey(0) & 255; prob = 0.0; int ht = img.rows; int wid = img.cols; // scale to 64 if one of the dim is less than 64 if( ht < m_winHt || wid < m_winWid ) { int minzD = m_winWid; int minz = wid; if(ht*m_winWid < m_winHt*wid) { minz = ht; minzD = m_winHt; } double sc = ((minzD*1.0) / (double)minz); if(sc > 1.5) return cv::Rect(0,0,0,0); cv::Size sz(0,0); if(ht == minz) { sz.height = m_winHt; sz.width = (sc * img.cols); cv::resize(img, img, sz, sc, 0, cv::INTER_LINEAR); } else { sz.width = m_winWid; sz.height = (sc * img.rows); cv::resize(img, img, sz, 0, sc, cv::INTER_LINEAR); } ht = img.rows; wid = img.cols; } // multiscale detection - it calculates the max prob at diff scales double max_prob = 0.0; cv::Mat max_frame; cv::Rect max_frame_rect(0, 0, 0, 0); for(double scale = 1.0; scale <= 5.0; scale *= 1.2) { cv::Mat simg; cv::resize(img, simg, cv::Size(0, 0), (1.0/scale), (1.0/scale), cv::INTER_LINEAR); if( simg.rows < m_winHt || simg.cols < m_winWid) continue; int sht = simg.rows; int swid = simg.cols; for(int x = 0; x < swid; x += stride) { for(int y = 0; y < sht; y += stride) { if( (x + m_winWid) > swid || (y + m_winHt) > sht) continue; // detect double p = 0.0; cv::Mat blockImg = simg(cv::Range(y,y+m_winHt), cv::Range(x, x+m_winWid)); this->testClassify(blockImg, p); if( p > max_prob) { max_prob = p; blockImg.copyTo(max_frame); max_frame_rect.x = (x * scale); max_frame_rect.y = (y * scale); max_frame_rect.width = (m_winWid * scale); max_frame_rect.height = (m_winHt * scale); } } } } prob = max_prob; cout << "Max probability: " << max_prob << endl; if(max_frame.data != NULL) { cv::imshow("object detector", max_frame); cv::waitKey(0) & 255; } return max_frame_rect;}
开发者ID:rudhirg,项目名称:ObjectDetection,代码行数:74,
示例7: szRectangle Level::getSplashVisibleBounds() { Vec2 sz(40, 20); return Rectangle(getSplashBounds().middle() - sz / 2, getSplashBounds().middle() + sz / 2);}
开发者ID:silidur,项目名称:keeperrl,代码行数:4,
示例8: ptvoid CUploadTipCtrl::OnPaint(CDC* pDC, CUploadTransfer* pUpload){ CPoint pt( 0, 0 ); CSize sz( m_sz.cx, TIP_TEXTHEIGHT ); DrawText( pDC, &pt, m_pUploadFile->m_sName ); pt.y += TIP_TEXTHEIGHT; DrawText( pDC, &pt, m_sAddress ); pDC->SelectObject( &CoolInterface.m_fntNormal ); pt.y += TIP_TEXTHEIGHT; int nFlagIndex = Flags.GetFlagIndex( pUpload->m_sCountry ); if ( nFlagIndex >= 0 ) { Flags.Draw( nFlagIndex, pDC->GetSafeHdc(), pt.x, pt.y, CoolInterface.m_crTipBack ); pDC->ExcludeClipRect( pt.x, pt.y, pt.x + 16, pt.y + 16 ); } pt.x += 16 + 4; DrawText( pDC, &pt, pUpload->m_sCountryName ); pt.x -= 16 + 4; pt.y += 16; DrawRule( pDC, &pt ); CString strStatus, strSpeed, strText; CString strOf; LoadString( strOf, IDS_GENERAL_OF ); strSpeed.Format( _T("%s %s %s (%s)"), (LPCTSTR)Settings.SmartSpeed( pUpload->GetMeasuredSpeed() ), (LPCTSTR)strOf, (LPCTSTR)Settings.SmartSpeed( pUpload->m_nBandwidth ), (LPCTSTR)Settings.SmartSpeed( pUpload->GetMaxSpeed() ) ); int nQueue = UploadQueues.GetPosition( pUpload, FALSE ); if ( m_pUploadFile != pUpload->m_pBaseFile || pUpload->m_nState == upsNull ) { LoadString( strStatus, IDS_TIP_INACTIVE ); } else if ( nQueue == 0 ) { if ( pUpload->m_nState == upsQueued ) { LoadString( strText, IDS_TIP_NEXT ); strStatus.Format( _T("%s: %s"), (LPCTSTR)pUpload->m_pQueue->m_sName, (LPCTSTR)strText ); } else { LoadString( strText, IDS_TIP_ACTIVE ); strStatus.Format( _T("%s: %s"), (LPCTSTR)pUpload->m_pQueue->m_sName, (LPCTSTR)strText ); } } else if ( nQueue > 0 ) { strStatus.Format( _T("%s: %i %s %u"), (LPCTSTR)pUpload->m_pQueue->m_sName, nQueue, (LPCTSTR)strOf, pUpload->m_pQueue->GetQueuedCount() ); } else { LoadString( strStatus, IDS_TIP_ACTIVE ); } LoadString( strText, IDS_TIP_STATUS ); DrawText( pDC, &pt, strText ); DrawText( pDC, &pt, strStatus, 80 ); pt.y += TIP_TEXTHEIGHT; LoadString( strText, IDS_TIP_SPEED ); DrawText( pDC, &pt, strText ); DrawText( pDC, &pt, strSpeed, 80 ); pt.y += TIP_TEXTHEIGHT; LoadString( strText, IDS_TIP_USERAGENT ); DrawText( pDC, &pt, strText ); DrawText( pDC, &pt, pUpload->m_sUserAgent, 80 ); pt.y += TIP_TEXTHEIGHT; pt.y += TIP_GAP; DrawProgressBar( pDC, &pt, m_pUploadFile ); pt.y += TIP_GAP; CRect rc( pt.x, pt.y, m_sz.cx, pt.y + 40 ); pDC->Draw3dRect( &rc, CoolInterface.m_crTipBorder, CoolInterface.m_crTipBorder ); rc.DeflateRect( 1, 1 ); if ( m_pGraph) m_pGraph->BufferedPaint( pDC, &rc ); rc.InflateRect( 1, 1 ); pDC->ExcludeClipRect( &rc ); pt.y += 40; pt.y += TIP_GAP; if ( Settings.General.GUIMode != GUI_BASIC ) { if ( m_nHeaders != pUpload->m_pHeaderName.GetSize() ) { ShowImpl( true );//.........这里部分代码省略.........
开发者ID:ivan386,项目名称:Shareaza,代码行数:101,
示例9: GetSystemMetricsvoid CMainFrame::OnFileCapture() { DlgCapture dlg; if (dlg.DoModal()==IDOK){ // get the desired window from dialog box HWND hwnd=dlg.m_SelectedWnd; // get window size CRect r; ::GetWindowRect(hwnd,&r); int xScreen,yScreen; //check if the window is out of the screen or maximixed <Qiang> int xshift = 0, yshift = 0; xScreen = GetSystemMetrics(SM_CXSCREEN); yScreen = GetSystemMetrics(SM_CYSCREEN); if(r.right > xScreen) r.right = xScreen; if(r.bottom > yScreen) r.bottom = yScreen; if(r.left < 0){ xshift = -r.left; r.left = 0; } if(r.top < 0){ yshift = -r.top; r.top = 0; } CSize sz(r.Width(), r.Height()); if(sz.cx <= 0 || sz.cy <= 0) return; // bring the window at the top most level ::SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); // prepare the DCs HDC dstDC = ::GetDC(NULL); HDC srcDC = ::GetWindowDC(hwnd); //full window (::GetDC(hwnd); = clientarea) HDC memDC = ::CreateCompatibleDC(dstDC); // copy the screen to the bitmap HBITMAP bm =::CreateCompatibleBitmap(dstDC, sz.cx, sz.cy); HBITMAP oldbm = (HBITMAP)::SelectObject(memDC,bm); ::BitBlt(memDC, 0, 0, sz.cx, sz.cy, srcDC, xshift, yshift, SRCCOPY); // restore the position ::SetWindowPos(hwnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); ::SetWindowPos(m_hWnd,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); // prepare the new document CDemoDoc *NewDoc=(CDemoDoc*)((CDemoApp*)AfxGetApp())->demoTemplate->OpenDocumentFile(NULL); if (NewDoc) { CxImage *newima = new CxImage(); newima->CreateFromHBITMAP(bm); NewDoc->image = newima; CString s; s.Format(_T("Captured Image %d"),((CDemoApp*)AfxGetApp())->m_nDocCount++); NewDoc->SetTitle(s); NewDoc->UpdateAllViews(0,WM_USER_NEWIMAGE); NewDoc->UpdateStatusBar(); } // free objects DeleteObject(SelectObject(memDC,oldbm)); DeleteObject(memDC); }}
开发者ID:Aliceljm1,项目名称:CxImageVS2010,代码行数:65,
示例10: ptvoid wxGridBagSizer::RecalcSizes(){ if (m_children.GetCount() == 0) return; wxPoint pt( GetPosition() ); wxSize sz( GetSize() ); m_rows = m_rowHeights.GetCount(); m_cols = m_colWidths.GetCount(); int idx, width, height; AdjustForGrowables(sz); // Find the start positions on the window of the rows and columns wxArrayInt rowpos; rowpos.Add(0, m_rows); int y = pt.y; for (idx=0; idx < m_rows; idx++) { height = m_rowHeights[idx] + m_vgap; rowpos[idx] = y; y += height; } wxArrayInt colpos; colpos.Add(0, m_cols); int x = pt.x; for (idx=0; idx < m_cols; idx++) { width = m_colWidths[idx] + m_hgap; colpos[idx] = x; x += width; } // Now iterate the children, setting each child's dimensions wxSizerItemList::compatibility_iterator node = m_children.GetFirst(); while (node) { int row, col, endrow, endcol; wxGBSizerItem* item = (wxGBSizerItem*)node->GetData(); if ( item->IsShown() ) { item->GetPos(row, col); item->GetEndPos(endrow, endcol); height = 0; for(idx=row; idx <= endrow; idx++) height += m_rowHeights[idx]; height += (endrow - row) * m_vgap; // add a vgap for every row spanned width = 0; for (idx=col; idx <= endcol; idx++) width += m_colWidths[idx]; width += (endcol - col) * m_hgap; // add a hgap for every col spanned SetItemBounds(item, colpos[col], rowpos[row], width, height); } node = node->GetNext(); }}
开发者ID:Anonymous2,项目名称:project64,代码行数:64,
示例11: layersPNS_ITEM* PNS_ROUTER::syncPad( D_PAD* aPad ){ PNS_LAYERSET layers( 0, MAX_CU_LAYERS - 1 ); // ignore non-copper pads if ( (aPad->GetLayerSet() & LSET::AllCuMask()).none() ) return NULL; switch( aPad->GetAttribute() ) { case PAD_ATTRIB_STANDARD: break; case PAD_ATTRIB_SMD: case PAD_ATTRIB_HOLE_NOT_PLATED: case PAD_ATTRIB_CONN: { LSET lmsk = aPad->GetLayerSet(); bool is_copper = false; for( int i = 0; i < MAX_CU_LAYERS; i++ ) { if( lmsk[i] ) { is_copper = true; if( aPad->GetAttribute() != PAD_ATTRIB_HOLE_NOT_PLATED ) layers = PNS_LAYERSET( i ); break; } } if( !is_copper ) return NULL; } break; default: TRACE( 0, "unsupported pad type 0x%x", aPad->GetAttribute() ); return NULL; } PNS_SOLID* solid = new PNS_SOLID; solid->SetLayers( layers ); solid->SetNet( aPad->GetNetCode() ); solid->SetParent( aPad ); wxPoint wx_c = aPad->ShapePos(); wxSize wx_sz = aPad->GetSize(); wxPoint offset = aPad->GetOffset(); VECTOR2I c( wx_c.x, wx_c.y ); VECTOR2I sz( wx_sz.x, wx_sz.y ); RotatePoint( &offset, aPad->GetOrientation() ); solid->SetPos( VECTOR2I( c.x - offset.x, c.y - offset.y ) ); solid->SetOffset ( VECTOR2I ( offset.x, offset.y ) ); double orient = aPad->GetOrientation() / 10.0; if( aPad->GetShape() == PAD_SHAPE_CIRCLE ) { solid->SetShape( new SHAPE_CIRCLE( c, sz.x / 2 ) ); } else { if( orient == 0.0 || orient == 90.0 || orient == 180.0 || orient == 270.0 ) { if( orient == 90.0 || orient == 270.0 ) sz = VECTOR2I( sz.y, sz.x ); switch( aPad->GetShape() ) { case PAD_SHAPE_OVAL: if( sz.x == sz.y ) solid->SetShape( new SHAPE_CIRCLE( c, sz.x / 2 ) ); else { VECTOR2I delta; if( sz.x > sz.y ) delta = VECTOR2I( ( sz.x - sz.y ) / 2, 0 ); else delta = VECTOR2I( 0, ( sz.y - sz.x ) / 2 ); SHAPE_SEGMENT* shape = new SHAPE_SEGMENT( c - delta, c + delta, std::min( sz.x, sz.y ) ); solid->SetShape( shape ); } break; case PAD_SHAPE_RECT: solid->SetShape( new SHAPE_RECT( c - sz / 2, sz.x, sz.y ) ); break; case PAD_SHAPE_TRAPEZOID: { wxPoint coords[4]; aPad->BuildPadPolygon( coords, wxSize( 0, 0 ), aPad->GetOrientation() );//.........这里部分代码省略.........
开发者ID:JOE-JOE-NGIGI,项目名称:kicad,代码行数:101,
示例12: compx2yIdx/*------------------------------------------------------------------------- * Compute x2yIdx which maps from input dimensions to the type of output * we want. The format of x2yIdx is: * [Xdimlabels Ydimlabels] * so it reflects the order of the dimensions in the output Z. * The value and sign of the integer label tells us what type of * operation to perform on this dimension. * 0 this is a squeezed dim which must be singlenton * -ve this is the index in X/Y of the matching dim to be accumulated * +ve this number is the position of the dimension at this location in * the output matrix. *-------------------------------------------------------------------------*/TprodErrorCode compx2yIdx(MxInfo xinfo, int xnidx, int *xidx, MxInfo yinfo, int ynidx, int *yidx, int **x2yIdxp, int *znd, int *maccnd, int *seqnd){ char msgTxt[256]; int i,j; int *x2yIdx; *znd=0; *maccnd=0; *seqnd=0; /* fill in the x2yIdx for the new type of indicies */ if( xnidx<xinfo.nd ) { ERROR("tprod:Less X indicies than dimensions"); return LESSXIND; } if( ynidx<yinfo.nd ) { ERROR("tprod:Less Y indicies than dimensions"); return LESSYIND; } x2yIdx=(int*)CALLOC(xnidx+ynidx,sizeof(int)); /* alloc mem for result */ *x2yIdxp=x2yIdx; /* direct access to the result */ /* find the max value of xip, this is num output dims */ /* also check for non multiple instances of acc dims labels */ *znd=MAX((int)xidx[0],0); for( i=1; i<xnidx; i++){ if ( xidx[i] < 0 ) { for( j=0; j<i; j++) if(xidx[i]==xidx[j]) { ERROR("tprod: Duplicate x-dim label"); return DUPXLABEL; } } else if ( xidx[i] > 0 ) { *znd=MAX(*znd,(int)xidx[i]); /* find the largest target dim */ } else if ( sz(xinfo,i)!=1 ) { ERROR("tprod: Ignored dims *MUST* have size 1"); return NONSINGLENTONIGNORED; } } /* same for yidx */ /* but also check that we always have matching x label to accumulate */ *znd=MAX(*znd,(int)yidx[0]); for( i=1; i<ynidx; i++){ if ( yidx[i] < 0 ) { for( j=0; j<i; j++) if(yidx[i]==yidx[j]) { ERROR("tprod: Duplicate y-dim label"); return DUPYLABEL; } for( j=0; j<xnidx; j++) if( yidx[i]==xidx[j] ) break; if( j==xnidx ) { sprintf(msgTxt,"tprod: Couldn't find a matching negative x-label for the y-label=%d",(int)yidx[i]); ERROR(msgTxt); return NOMATCHINGXYACC; } } else if ( yidx[i] > 0 ) { *znd=MAX(*znd,(int)yidx[i]); /* find the largest target dim */ } else if ( sz(yinfo,i)!=1 ) { ERROR("tprod: Ignored dims *MUST* have size 1"); return NONSINGLENTONIGNORED; } } /* compute the x->y mapping */ for( i=0; i<xnidx; i++){ if ( xidx[i] < 0 ) { /* search for the matching y */ for( j=0; j<ynidx; j++) { if ( yidx[j]==xidx[i] ) { x2yIdx[i]=-(j+1); x2yIdx[xnidx+j]=-(i+1); (*maccnd)++; break; } } if ( x2yIdx[i]==0 ) { ERROR("tprod: Couldn't find a matching y-idx for the x"); return NOMATCHINGXY; } if( sz(xinfo,i) != sz(yinfo,j)) {/* check sizes match too */ ERROR("tprod: Matched dims must have the same size!"); return MATCHDIMMISMATCH; } } else { /* just copy it through */ x2yIdx[i]=(int)xidx[i]; /* search for the matching y, & check sizes match */ for( j=0; j<ynidx && yidx[j]!=xidx[i]; j++); if ( j<ynidx ){ /* sequential dimension */ if ( sz(xinfo,i) != sz(yinfo,j) ){ ERROR("tprod: Matched dims must have the same size!"); return MATCHDIMMISMATCH; } if ( sz(xinfo,i)!=1 ) { /* only *really* sequ if >1 size strides */ (*seqnd)++; } } } } /* now set the y parts -- for the non-set non-accumulated dimensions */ for( i=0; i<ynidx; i++){ if( yidx[i] > 0 ) { x2yIdx[i+xnidx]=(int)yidx[i]; } } /* } */ *znd=MAX(*znd,1); /* ensure at least 1 output dim */ *maccnd=MAX(*maccnd,1); /* ensure at least 1 macc dim */ return OK;}
开发者ID:kelseym,项目名称:microstates,代码行数:99,
示例13: initrestmaccmxInfo/* initialize the size of the accumulated sub-matrices and update the x/y matrices */TprodErrorCode initrestmaccmxInfo(int znd, const MxInfo xinfo, const MxInfo yinfo, const int x2yIdx[], int xnidx, int ynidx, MxInfo *xrestinfo, MxInfo *yrestinfo, MxInfo *xmaccinfo, MxInfo *ymaccinfo){ int maccnd=0; int i; if( xrestinfo->nd < znd || yrestinfo->nd < znd ) { ERROR("mxInfo structures size too small"); return XYTOOSMALL; } /* ensure all output dims start with unit size -- so if we specify to map input dim beyond the end we pad the gaps out with unit dims */ for (i=0;i<xrestinfo->nd;i++) xrestinfo->sz[i]=1; for (i=0;i<yrestinfo->nd;i++) yrestinfo->sz[i]=1; /* ensure outputs have the same types as the inputs */ xrestinfo->dtype = xinfo.dtype; xmaccinfo->dtype = xinfo.dtype; yrestinfo->dtype = yinfo.dtype; ymaccinfo->dtype = yinfo.dtype; /* this works in 2 stages -- first it sets up ?maccinfo/?restinfo and then squeezes the restinfo to minimum size */ /* do the x part of the input */ for( i=0; i<xnidx; i++ ) { if ( x2yIdx[i] < 0 ) { /* accumulated dimension */ /* compute the accumulated sub-matrices sizes */ /* in the accumulated matrix the x size is the dim size */ xmaccinfo->stride[maccnd]= stride(xinfo,i); xmaccinfo->sz[maccnd] = sz(xinfo,i); /* in the accumulated matrix the y size is the dim size */ ymaccinfo->stride[maccnd]= stride(yinfo,-x2yIdx[i]-1); ymaccinfo->sz[maccnd] = sz(yinfo,-x2yIdx[i]-1); if ( sz(*xmaccinfo,maccnd) != sz(*ymaccinfo,maccnd) ) { ERROR("Accumulated dimensions sizes must match!");return ACCDIMMISMATCH; } maccnd++; /* 1 more accumulated dimension */ } else if ( x2yIdx[i]>0 ) { /* OP dimension -- just copy to rest */ /* in the x rest set, y's size is 1 */ xrestinfo->stride[x2yIdx[i]-1] = stride(xinfo,i); xrestinfo->sz[x2yIdx[i]-1] = sz(xinfo,i); yrestinfo->stride[x2yIdx[i]-1] = 0; yrestinfo->sz[x2yIdx[i]-1] = 1; } /* else ; */ /* ignored dimension so ignore it! */ } xmaccinfo->nd=maccnd; ymaccinfo->nd=maccnd; /* set actual number macc dims*/ for( ; i<xnidx+ynidx; i++){ /* do the y part of x2yIdx */ if ( x2yIdx[i] < 0 ) { /* acc dimension -- allready done */ } else if ( x2yIdx[i] > 0){/* non-acc dimension -- just copy to rest */ if ( xrestinfo->sz[x2yIdx[i]-1] == 0 ){ /* if not allready set */ xrestinfo->stride[x2yIdx[i]-1] = 0; xrestinfo->sz[x2yIdx[i]-1] = 1; } yrestinfo->stride[x2yIdx[i]-1] = stride(yinfo,i-xnidx); yrestinfo->sz[x2yIdx[i]-1] = sz(yinfo,i-xnidx); } } /* deal with size edge cases */ /*if ( xrestinfo->nd==0 ) xrestinfo->nd=1;*//* everything macc'd away */ /*if ( xrestinfo->sz[0]==0 ) xrestinfo->sz[0]=1;*//* everything macc'd away*/ /*if ( xrestinfo->sz[1]==0 ) xrestinfo->sz[1]=1;*/ if ( xmaccinfo->nd == 0 ) xmaccinfo->sz[0]=1; /* nothing macc'd away */ if ( ymaccinfo->nd == 0 ) ymaccinfo->sz[0]=1; /* nothing macc'd away */ /* set the numels & the final strides -- to simplify debuggin */ xrestinfo->numel=xrestinfo->sz[0]; for ( i=1; i<xrestinfo->nd; i++ ) xrestinfo->numel *= xrestinfo->sz[i]; xrestinfo->stride[xrestinfo->nd] = xinfo.stride[xinfo.nd]; yrestinfo->numel=yrestinfo->sz[0]; for ( i=1; i<yrestinfo->nd; i++ ) yrestinfo->numel *= yrestinfo->sz[i]; yrestinfo->stride[yrestinfo->nd] = yinfo.stride[yinfo.nd]; xmaccinfo->numel=xmaccinfo->sz[0]; for ( i=1; i<xmaccinfo->nd; i++ ) xmaccinfo->numel *= xmaccinfo->sz[i]; xmaccinfo->stride[xmaccinfo->nd] = xinfo.stride[xinfo.nd]; ymaccinfo->numel=ymaccinfo->sz[0]; for ( i=1; i<ymaccinfo->nd; i++ ) ymaccinfo->numel *= ymaccinfo->sz[i]; ymaccinfo->stride[ymaccinfo->nd] = yinfo.stride[yinfo.nd]; /* set the data pointers */ xrestinfo->rp=xinfo.rp; xrestinfo->ip=xinfo.ip; yrestinfo->rp=yinfo.rp; yrestinfo->ip=yinfo.ip; xmaccinfo->rp=xinfo.rp; xmaccinfo->ip=xinfo.ip; ymaccinfo->rp=yinfo.rp; ymaccinfo->ip=yinfo.ip; return OK; }
开发者ID:kelseym,项目名称:microstates,代码行数:94,
示例14: wxFAIL_MSGbool wxSlider::Create(wxWindow *parent, wxWindowID id, int value, int minValue, int maxValue, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name ){ m_acceptsFocus = TRUE; m_needParent = TRUE; if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxSlider creation failed") ); return FALSE; } m_oldPos = 0.0; if (style & wxSL_VERTICAL) m_widget = gtk_vscale_new( (GtkAdjustment *) NULL ); else m_widget = gtk_hscale_new( (GtkAdjustment *) NULL ); if (style & wxSL_LABELS) { gtk_scale_set_draw_value( GTK_SCALE( m_widget ), TRUE ); gtk_scale_set_digits( GTK_SCALE( m_widget ), 0 ); /* labels need more space and too small window will cause junk to appear on the dialog */ if (style & wxSL_VERTICAL) { wxSize sz( size ); if (sz.x < 35) { sz.x = 35; SetSize( sz ); } } else { wxSize sz( size ); if (sz.y < 35) { sz.y = 35; SetSize( sz ); } } } else gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE ); m_adjust = gtk_range_get_adjustment( GTK_RANGE(m_widget) );#ifdef __WXGTK20__ if (style & wxSL_INVERSE) gtk_range_set_inverted( GTK_RANGE(m_widget), TRUE );#endif GtkEnableEvents();#ifdef __WXGTK20__ g_signal_connect (m_widget, "button_press_event", G_CALLBACK (gtk_slider_button_press_callback), this); g_signal_connect (m_widget, "button_release_event", G_CALLBACK (gtk_slider_button_release_callback), this);#endif SetRange( minValue, maxValue ); SetValue( value ); m_parent->DoAddChild( this ); PostCreation(size); return TRUE;}
开发者ID:Duion,项目名称:Torsion,代码行数:78,
示例15: ptvoid CMatchTipCtrl::OnPaint(CDC* pDC){ CPoint pt( 0, 0 ); CSize sz( m_sz.cx, TIP_TEXTHEIGHT ); DrawText( pDC, &pt, m_sName ); pt.y += TIP_TEXTHEIGHT; pDC->SelectObject( &CoolInterface.m_fntNormal ); if ( m_sUser.GetLength() ) { DrawText( pDC, &pt, m_sUser ); pt.y += TIP_TEXTHEIGHT; } if ( m_sCountry.GetLength() ) { int nFlagIndex = Flags.GetFlagIndex( m_sCountryCode ); if ( nFlagIndex >= 0 ) { Flags.Draw( nFlagIndex, *pDC, pt.x, pt.y, CoolInterface.m_crTipBack, CoolInterface.m_crTipBack ); pDC->ExcludeClipRect( pt.x, pt.y, pt.x + 16, pt.y + 16 ); } pt.x += 16 + 4; DrawText( pDC, &pt, m_sCountry ); pt.x -= 16 + 4; pt.y += max( 16, TIP_TEXTHEIGHT ); } if ( m_sStatus.GetLength() ) { DrawRule( pDC, &pt ); pDC->SetTextColor( m_crStatus ); pDC->SelectObject( &CoolInterface.m_fntBold ); DrawText( pDC, &pt, m_sStatus ); pDC->SelectObject( &CoolInterface.m_fntNormal ); pDC->SetTextColor( CoolInterface.m_crTipText ); pt.y += TIP_TEXTHEIGHT; } DrawRule( pDC, &pt ); ShellIcons.Draw( pDC, m_nIcon, 32, pt.x, pt.y, CoolInterface.m_crTipBack ); pDC->ExcludeClipRect( pt.x, pt.y, pt.x + 32, pt.y + 32 ); if ( m_nRating > 1 ) { CPoint ptStar( m_sz.cx - 3, pt.y - 2 ); for ( int nRating = m_nRating - 1 ; nRating ; nRating-- ) { ptStar.x -= 16; CoolInterface.Draw( pDC, IDI_STAR, 16, ptStar.x, ptStar.y, CoolInterface.m_crTipBack ); pDC->ExcludeClipRect( ptStar.x, ptStar.y, ptStar.x + 16, ptStar.y + 16 ); } } pt.x += 40; DrawText( pDC, &pt, m_sSize ); pt.y += TIP_TEXTHEIGHT; DrawText( pDC, &pt, m_sType ); pt.y -= TIP_TEXTHEIGHT; pt.x -= 40; pt.y += max( 32, TIP_TEXTHEIGHT * 2 ); //Hashes if ( m_sSHA1.GetLength() || m_sTiger.GetLength() || m_sED2K.GetLength() || m_sBTH.GetLength() || m_sMD5.GetLength() ) { DrawRule( pDC, &pt ); if ( m_sSHA1.GetLength() ) { DrawText( pDC, &pt, m_sSHA1 ); pt.y += TIP_TEXTHEIGHT; } if ( m_sTiger.GetLength() ) { DrawText( pDC, &pt, m_sTiger ); pt.y += TIP_TEXTHEIGHT; } if ( m_sED2K.GetLength() ) { DrawText( pDC, &pt, m_sED2K ); pt.y += TIP_TEXTHEIGHT; } if ( m_sBTH.GetLength() ) { DrawText( pDC, &pt, m_sBTH ); pt.y += TIP_TEXTHEIGHT; } if ( m_sMD5.GetLength() ) { DrawText( pDC, &pt, m_sMD5 );//.........这里部分代码省略.........
开发者ID:ivan386,项目名称:Shareaza,代码行数:101,
示例16: layersstd::unique_ptr<PNS::SOLID> PNS_KICAD_IFACE::syncPad( D_PAD* aPad ){ LAYER_RANGE layers( 0, MAX_CU_LAYERS - 1 ); // ignore non-copper pads if( ( aPad->GetLayerSet() & LSET::AllCuMask()).none() ) return NULL; switch( aPad->GetAttribute() ) { case PAD_ATTRIB_STANDARD: break; case PAD_ATTRIB_SMD: case PAD_ATTRIB_HOLE_NOT_PLATED: case PAD_ATTRIB_CONN: { LSET lmsk = aPad->GetLayerSet(); bool is_copper = false; for( int i = 0; i < MAX_CU_LAYERS; i++ ) { if( lmsk[i] ) { is_copper = true; if( aPad->GetAttribute() != PAD_ATTRIB_HOLE_NOT_PLATED ) layers = LAYER_RANGE( i ); break; } } if( !is_copper ) return NULL; } break; default: wxLogTrace( "PNS", "unsupported pad type 0x%x", aPad->GetAttribute() ); return NULL; } std::unique_ptr< PNS::SOLID > solid( new PNS::SOLID ); solid->SetLayers( layers ); solid->SetNet( aPad->GetNetCode() ); solid->SetParent( aPad ); wxPoint wx_c = aPad->ShapePos(); wxSize wx_sz = aPad->GetSize(); wxPoint offset = aPad->GetOffset(); VECTOR2I c( wx_c.x, wx_c.y ); VECTOR2I sz( wx_sz.x, wx_sz.y ); RotatePoint( &offset, aPad->GetOrientation() ); solid->SetPos( VECTOR2I( c.x - offset.x, c.y - offset.y ) ); solid->SetOffset( VECTOR2I( offset.x, offset.y ) ); double orient = aPad->GetOrientation() / 10.0; if( aPad->GetShape() == PAD_SHAPE_CIRCLE ) { solid->SetShape( new SHAPE_CIRCLE( c, sz.x / 2 ) ); } else if( aPad->GetShape() == PAD_SHAPE_CUSTOM ) { SHAPE_POLY_SET outline; outline.Append( aPad->GetCustomShapeAsPolygon() ); aPad->CustomShapeAsPolygonToBoardPosition( &outline, wx_c, aPad->GetOrientation() ); SHAPE_CONVEX* shape = new SHAPE_CONVEX(); // We use the convex hull of the pad shape, because PnS knows // only convex shapes. std::vector<wxPoint> convex_hull; BuildConvexHull( convex_hull, outline ); for( unsigned ii = 0; ii < convex_hull.size(); ii++ ) shape->Append( convex_hull[ii] ); solid->SetShape( shape ); } else { if( orient == 0.0 || orient == 90.0 || orient == 180.0 || orient == 270.0 ) { if( orient == 90.0 || orient == 270.0 ) sz = VECTOR2I( sz.y, sz.x ); switch( aPad->GetShape() ) { case PAD_SHAPE_OVAL: if( sz.x == sz.y ) solid->SetShape( new SHAPE_CIRCLE( c, sz.x / 2 ) ); else { VECTOR2I delta;//.........这里部分代码省略.........
开发者ID:cpavlina,项目名称:kicad,代码行数:101,
示例17: SplitStrint ObjectDetection::trainMultiScale(std::string imgName, bool classType){ int stride = 32; // get the bounding box too if there // format of line - imageName #objs=1 x y x_width y_width // split std::vector<std::string> strs;// boost::split(strs, imgName, boost::is_any_of(" ") ); SplitStr(imgName, ' ', strs); if( strs.empty() == true ) return -1; std::string imgStr = strs[0]; cv::Mat img = cv::imread(imgStr.c_str()); if(img.data == NULL) return -1; int ht = img.rows; int wid = img.cols; if( 4*ht < 3*m_winHt || 4*wid < 3*m_winWid ) { return 0; } // bounding box int x_left = 0, y_left = 0, x_wid = wid, y_ht = ht; if(strs.size() >= 6) { x_left = atoi(strs[2].c_str()); y_left = atoi(strs[3].c_str()); x_wid = atoi(strs[4].c_str()); y_ht = atoi(strs[5].c_str()); } if( 4*y_ht < 3*m_winHt || 4*x_wid < 3*m_winWid ) { return 0; } cv::Rect roi(x_left, y_left, x_wid, y_ht); //cv::Mat boundedImg = cvCreateImage(cvGetSize(&img), img->depth, img->nChannels); cv::Mat boundedImg = cv::Mat(img, roi); if(classType == 0) { // multiscale training on negative dataset for(int x = 0; x < wid; x += stride) { for(int y = 0; y < ht; y += stride) { if( (x + m_winWid) > wid || (y + m_winHt) > ht) continue; // detect cv::Mat blockImg = boundedImg(cv::Range(y,y+m_winHt), cv::Range(x, x+m_winWid)); this->train(blockImg, classType); } } } else { // image resize cv::Size sz(m_winWid, m_winHt); cv::resize(boundedImg, boundedImg, sz, 0, 0, cv::INTER_LINEAR); ht = m_winHt; wid = m_winWid;/* cv::imshow("object detector", boundedImg); int c = cv::waitKey(0) & 255;*/ this->train(boundedImg, classType); } return 0;}
开发者ID:rudhirg,项目名称:ObjectDetection,代码行数:68,
示例18: interval_window_to_uservoid Data_El_Geom_GWin::box_user_geom(Pt2di & res1,Pt2di & res2) const{ interval_window_to_user(res1.x,res2.x,0,sz().x,_tr.x,_sc.x); interval_window_to_user(res1.y,res2.y,0,sz().y,_tr.y,_sc.y);}
开发者ID:jakexie,项目名称:micmac-archeos,代码行数:5,
示例19: sz sort* dl_decl_plugin::mk_rule_sort() { sort_size sz(sort_size::mk_infinite()); sort_info info(m_family_id, DL_RULE_SORT, sz, 0, 0); return m_manager->mk_sort(m_rule_sym, info); }
开发者ID:kayceesrk,项目名称:Z3,代码行数:5,
示例20: PMGetPageFormatPapervoid wxOSXPrintData::TransferPaperInfoTo( wxPrintData &data ){ PMGetPageFormatPaper(m_macPageFormat, &m_macPaper); PMPrinter printer ; PMSessionGetCurrentPrinter( m_macPrintSession, &printer ); OSStatus err = noErr ; UInt32 copies ; err = PMGetCopies( m_macPrintSettings , &copies ) ; if ( err == noErr ) data.SetNoCopies( copies ) ; PMOrientation orientation ; err = PMGetOrientation( m_macPageFormat , &orientation ) ; if ( err == noErr ) { if ( orientation == kPMPortrait || orientation == kPMReversePortrait ) { data.SetOrientation( wxPORTRAIT ); data.SetOrientationReversed( orientation == kPMReversePortrait ); } else { data.SetOrientation( wxLANDSCAPE ); data.SetOrientationReversed( orientation == kPMReverseLandscape ); } } Boolean collate; if (PMGetCollate(m_macPrintSettings, &collate) == noErr) data.SetCollate(collate); PMDuplexMode mode = 0 ; PMGetDuplex( m_macPrintSettings, &mode ) ; switch( mode ) { case kPMDuplexNoTumble : data.SetDuplex(wxDUPLEX_HORIZONTAL); break ; case kPMDuplexTumble : data.SetDuplex(wxDUPLEX_VERTICAL); break ; case kPMDuplexNone : default : data.SetDuplex(wxDUPLEX_SIMPLEX); break ; } double height, width; PMPaperGetHeight(m_macPaper, &height); PMPaperGetWidth(m_macPaper, &width); wxSize sz((int)(width * pt2mm + 0.5 ) , (int)(height * pt2mm + 0.5 )); data.SetPaperSize(sz); wxPaperSize id = wxThePrintPaperDatabase->GetSize(wxSize(sz.x* 10, sz.y * 10)); if (id != wxPAPER_NONE) { data.SetPaperId(id); }}
开发者ID:chromylei,项目名称:third_party,代码行数:62,
示例21: lena_for_evervoid lena_for_ever(){ Gray_Pal Pgray (30); Disc_Pal Pdisc = Disc_Pal::P8COL(); Elise_Set_Of_Palette SOP(newl(Pgray)+Pdisc); Video_Display Ecr((char *) NULL); Ecr.load(SOP); Video_Win Wv (Ecr,SOP,Pt2di(50,50),Pt2di(SZX,SZY)); PS_Display disp("TMP/test.ps","Mon beau fichier ps",SOP); Pt2di NBW(4,20); Pt2di sz(200,100); Mat_PS_Window mps(disp,sz,Pt2dr(2.0,2.0),NBW,Pt2dr(0.5,0.1)); for (int x = 0; x < NBW.x ; x++) for (int y = 0; y < NBW.y ; y++) { mps(x,y).fill_rect(Pt2di(0,0),sz,Pgray((y*255)/( NBW.y-1))); mps(x,y).draw_rect(Pt2di(0,0),sz,Pdisc(P8COL::red)); }/* PS_Window Wps = disp.w_centered_max(Pt2di(SZX,SZY),Pt2dr(0.0,8.0)); Elise_File_Im FLena("../IM_ELISE/lena",Pt2di(SZX,SZY),GenIm::u_int1); Im2D_U_INT1 I(SZX,SZY); Col_Pal red = Pdisc(P8COL::red); Col_Pal blue = Pdisc(P8COL::blue); Col_Pal green = Pdisc(P8COL::green); Col_Pal black = Pdisc(P8COL::black); Col_Pal cyan = Pdisc(P8COL::cyan); Col_Pal white = Pdisc(P8COL::white); Col_Pal yellow = Pdisc(P8COL::yellow); El_Window W = Wv|Wps; ELISE_COPY ( Wps.all_pts(), 32*(FLena.in()/32), W.ogray()|I.out() ); W.fill_rect(Pt2dr(100,200),Pt2dr(400,300),yellow); Line_St s1 (red,3); Line_St s2 (green,2); Plot_1d Plot1 (W,s1,s2,Interval(-10,10),newl(PlBox(50,50,300,400))); Plot1.show_axes(); Plot1.show_axes ( newl(PlBox(150,150,250,250)) + PlOriY(0.2) + PlAxeSty(s2) ); Plot_1d Plot2(W,s1,s2,Interval(-100,100)); Plot1.show_box ( newl(PlBox(150,150,250,250)) + PlBoxSty(cyan,2) ); Plot2.set ( newl(PlBox(20,200,400,400)) + PlOriY(0.4) + PlAxeSty(Line_St(Pdisc(P8COL::yellow),1)) + PlBoxSty(Line_St(black,2)) + PlClearSty(white) ); Plot2.show_axes(); Plot2.show_box(); Plot2.plot(10*sin(FX/4.0)); Plot2.plot ( 10*sin(FX/4.0), newl(PlIntervBoxX(-50,50)) + PlotLinSty(red,2) ); Plot2.plot//.........这里部分代码省略.........
开发者ID:jakexie,项目名称:micmac,代码行数:101,
示例22: socket//.........这里部分代码省略......... //(pEnconn->m_RichEdit)->SetSel(-1,-1); //(pEnconn->m_RichEdit)->ReplaceSel(_T("AAC Data/n"),0); //printf("Recv AAC Data/n"); if(pEnconn->saveStream==1) { if(pEnconn->Enctype==1)//ENC1200 pEnconn->AacFile.Write((char*)pEnconn->m_cVideoBuffer+sizeof(FRAMEHEAD),nDataLen-sizeof(FRAMEHEAD)); else pEnconn->AacFile.Write((char*)pEnconn->m_cVideoBuffer+1+sizeof(DataHeader),nDataLen-1-sizeof(DataHeader)); } break; case MSG_SYSPARAMS: printf("Recv MSG_SYSPARAMS /n"); break; case MSG_TRACKAUTO: printf("Recv MSG_TRACKAUTO /n"); break; case MSG_DATAINFO: printf("Recv MSG_DATAINFO /n"); break; case MSG_LOW_BITRATE: printf("Recv LowStream ok /n"); break; case MSG_LOW_SCREENDATA: printf("Recv LowStream Data/n"); break; case MSG_PIC_DATA: //memcpy(&nDataLen, &pEnconn->m_cVideoBuffer[1],sizeof(nDataLen)); memcpy(&nDataLen, (char*)pEnconn->m_cVideoBuffer+1,sizeof(nDataLen)); printf("PPT索引图片=%d 字节/n", nDataLen); //hMem = ::GlobalAlloc(GMEM_MOVEABLE,nDataLen); //lpBuf = ::GlobalLock(hMem); rcvLen = pEnconn->Recv((char*)pEnconn->m_cVideoBuffer+4, nDataLen); finename.Format(_T("%d.jpg"),pptindex); if (!(pEnconn->JpgFile.Open(finename,CFile::modeCreate | CFile::modeWrite))) { printf("open jpegFile fail! /n"); pptindex++; break; } pEnconn->JpgFile.Write((char*)pEnconn->m_cVideoBuffer+4,nDataLen); pEnconn->JpgFile.Close(); pptindex++; hMem = ::GlobalAlloc(GMEM_MOVEABLE,nDataLen); lpBuf = ::GlobalLock(hMem); memcpy(lpBuf,(char*)pEnconn->m_cVideoBuffer+4,nDataLen); ::GlobalUnlock(hMem); ::CreateStreamOnHGlobal(hMem, TRUE, &pStm); //装入图形文件 if(SUCCEEDED(OleLoadPicture(pStm,nDataLen,TRUE,IID_IPicture,(LPVOID*)&pPic))) { OLE_XSIZE_HIMETRIC hmWidth; OLE_YSIZE_HIMETRIC hmHeight; pPic->get_Width(&hmWidth); //用接口方法获得图片的宽和高 pPic->get_Height(&hmHeight); printf("PPTJPEG=%d=%d/n",hmWidth,hmHeight); //获取桌面窗口句柄 hwnd = ::GetDesktopWindow(); //获取桌面窗口DC hdc = ::GetWindowDC(hwnd); CRect rect; CDC *pDC=CDC::FromHandle(hdc); //////显示原图大小///////////////////////////////////////////////////////////// CSize sz(hmWidth,hmHeight); pDC->HIMETRICtoDP(&sz); //转换MM_HIMETRIC模式单位为MM_TEXT像素单位 pPic->Render(hdc,80,80,sz.cx,sz.cy,0,hmHeight,hmWidth,-hmHeight,NULL); //按窗口尺寸显示/////////////////// GetClientRect(hwnd,&rect); if(pPic) pPic->Release(); ::ReleaseDC(hwnd, hdc); } pStm->Release(); printf("Recv PPT Data/n"); break; case MSG_GET_LOGOINFO: printf("Recv MSG_GET_LOGOINFO /n"); break; case MSG_PIC_DATAEX: printf("Recv MSG_PIC_DATAEX /n"); recvedlen=0; break; default: break; } }Exit: pEnconn->Connflag=0; pEnconn->PostMessage(RM_DISCONN,NULL); return 1;}
开发者ID:duhao,项目名称:Manager,代码行数:101,
示例23: size int size() { return sz(root); }
开发者ID:crazymonkeylyc,项目名称:my_solutions,代码行数:1,
示例24: Print_Modulestatic void Print_Module( EDA_DRAW_PANEL* aPanel, wxDC* aDC, MODULE* aModule, GR_DRAWMODE aDraw_mode, LSET aMask, PRINT_PARAMETERS::DrillShapeOptT aDrillShapeOpt ){ // Print pads for( D_PAD* pad = aModule->Pads(); pad; pad = pad->Next() ) { if( !( pad->GetLayerSet() & aMask ).any() ) continue; // Manage hole according to the print drill option wxSize drill_tmp = pad->GetDrillSize(); switch( aDrillShapeOpt ) { case PRINT_PARAMETERS::NO_DRILL_SHAPE: pad->SetDrillSize( wxSize(0,0) ); break; case PRINT_PARAMETERS::SMALL_DRILL_SHAPE: { wxSize sz( std::min( SMALL_DRILL, pad->GetDrillSize().x ), std::min( SMALL_DRILL, pad->GetDrillSize().y ) ); pad->SetDrillSize( sz ); } break; case PRINT_PARAMETERS::FULL_DRILL_SHAPE: // Do nothing break; } pad->Draw( aPanel, aDC, aDraw_mode ); pad->SetDrillSize( drill_tmp ); } // Print footprint graphic shapes LSET mlayer( aModule->GetLayer() ); if( aModule->GetLayer() == B_Cu ) mlayer = LSET( B_SilkS ); else if( aModule->GetLayer() == F_Cu ) mlayer = LSET( F_SilkS ); if( ( mlayer & aMask ).any() ) { if( aModule->Reference().IsVisible() ) aModule->Reference().Draw( aPanel, aDC, aDraw_mode ); if( aModule->Value().IsVisible() ) aModule->Value().Draw( aPanel, aDC, aDraw_mode ); } for( EDA_ITEM* item = aModule->GraphicalItems(); item; item = item->Next() ) { switch( item->Type() ) { case PCB_MODULE_TEXT_T: { if( !( mlayer & aMask ).any() ) break; TEXTE_MODULE* textMod = static_cast<TEXTE_MODULE*>( item ); textMod->Draw( aPanel, aDC, aDraw_mode ); break; } case PCB_MODULE_EDGE_T: { EDGE_MODULE* edge = static_cast<EDGE_MODULE*>( item ); if( !aMask[edge->GetLayer()] ) break; edge->Draw( aPanel, aDC, aDraw_mode ); } break; default: break; } }}
开发者ID:Elphel,项目名称:kicad-source-mirror,代码行数:84,
示例25: PointContrastvoid CEditPrevWnd::OnMouseMove(UINT nFlags, CPoint point) { if(!m_bCropPress) { if(m_bMoveEnabled) { m_ptChanged = point - m_ptMoveStart; m_ptMoveStart = point; if(!m_bMoveFore) { if(m_ptChanged != CPoint(0,0)) PointContrast(); } else //move fore image { CSize sz(0,0); sz = CSize((LONG)(m_ptChanged.x/m_dScaling), (LONG)(m_ptChanged.y/m_dScaling)); if(sz != CSize(0,0)) { (((CPhotoEditDlg*)m_pParentWnd)->GetCurObject())->MoveForeImage(sz); ((CPhotoEditDlg*)m_pParentWnd)->SetCurImageModified(true); CDC* pDC = GetDC(); DrawFore(pDC); ReleaseDC(pDC); } } } else { ::SetCursor(::AfxGetApp()->LoadCursor(IDC_CURSOR_HAND_ON)); } } else { if(((CPhotoEditDlg*)m_pParentWnd)->GetEditType() == EDIT_RESIZE) { if(!m_rtImageRect.PtInRect(point)) return; ::SetCursor(::AfxGetApp()->LoadStandardCursor(IDC_CROSS)); { if((nFlags & MK_LBUTTON) == MK_LBUTTON)//&&(m_rtImageRect.PtInRect(m_OldPoint))) { if(m_bAfterCrop) { Invalidate(); m_bAfterCrop = FALSE; } CDC * pDC = GetDC(); CRect rtOld; if(m_OldPoint.x < m_rtImageRect.left) m_OldPoint.x = m_rtImageRect.left; if (m_OldPoint.x > m_rtImageRect.right) m_OldPoint.x = m_rtImageRect.right; if(m_OldPoint.y < m_rtImageRect.top) m_OldPoint.y = m_rtImageRect.top; if (m_OldPoint.y > m_rtImageRect.bottom) m_OldPoint.y = m_rtImageRect.bottom; int x1 = m_OldPoint.x; int y1 = m_OldPoint.y; int x2 = m_PrePoint.x; int y2 = m_PrePoint.y; rtOld.left = min(x1,x2); rtOld.top = min(y1,y2); rtOld.right = max(x1,x2); rtOld.bottom = max(y1,y2); DrawRect(pDC,rtOld); if(point.x < m_rtImageRect.left) point.x = m_rtImageRect.left; if (point.x > m_rtImageRect.right) point.x = m_rtImageRect.right; if(point.y < m_rtImageRect.top) point.y = m_rtImageRect.top; if (point.y > m_rtImageRect.bottom) point.y = m_rtImageRect.bottom; m_PrePoint = point; CRect rtNew; x1 = m_OldPoint.x; y1 = m_OldPoint.y; x2 = point.x; y2 = point.y; rtNew.left = min(x1,x2); rtNew.top = min(y1,y2); rtNew.right = max(x1,x2); rtNew.bottom = max(y1,y2); m_rtPreRect = rtNew; DrawRect(pDC,m_rtPreRect); m_bRectExist = TRUE; //Draw(pDC); ReleaseDC(pDC); } } } } CWnd::OnMouseMove(nFlags, point);}
开发者ID:sxcong,项目名称:fytPhoto,代码行数:99,
示例26: itype//.........这里部分代码省略......... if (!globalsrch) srch = mksrch(NULL,NULL,opt_icase,isrch->dir,-1,0,0,0,0); else { srch = globalsrch; globalsrch = 0; } srch->addr = bw->cursor->byte; if (!srch->wrap_p || srch->wrap_p->b!=bw->b) { prm(srch->wrap_p); srch->wrap_p = pdup(bw->cursor, "itype"); srch->wrap_p->owner = &srch->wrap_p; srch->wrap_flag = 0; } i->wrap_flag = srch->wrap_flag; setpat(srch, vsncpy(NULL, 0, isrch->pattern, sLen(isrch->pattern))); srch->backwards = isrch->dir; if (dopfnext(bw, srch, NULL)) { if(joe_beep) ttputc(7); frirec(i); } else { enqueb(IREC, link, &isrch->irecs, i); } } } else if (c >= 0 && c < 32) { /* Done when a control character is received */ nungetc(c); if (notify) { *notify = 1; } smode = 2; if (lastisrch) { lastpat = vstrunc(lastpat, 0); lastpat = vsncpy(lastpat, 0, lastisrch->pattern, sLen(lastisrch->pattern)); rmisrch(lastisrch); } lastisrch = isrch; return 0; } else if (c != -1) { char buf[16]; ptrdiff_t buf_len; /* Search */ in: if (bw->b->o.charmap->type) { buf_len = utf8_encode(buf, c); } else { buf[0] = TO_CHAR_OK(from_uni(bw->b->o.charmap, c)); buf_len = 1; } isrch->quote = 0; iappend(bw, isrch, buf, buf_len); } omid = opt_mid; opt_mid = 1; bw->cursor->xcol = piscol(bw->cursor); dofollows(); opt_mid = omid; isrch->prompt = vstrunc(isrch->prompt, isrch->ofst); if (locale_map->type && !bw->b->o.charmap->type) { /* Translate bytes to utf-8 */ char buf[16]; int x; for (x=0; x!=sLEN(isrch->pattern); ++x) { int tc = to_uni(bw->b->o.charmap, isrch->pattern[x]); utf8_encode(buf, tc); isrch->prompt = vsncpy(sv(isrch->prompt),sz(buf)); } } else if (!locale_map->type && bw->b->o.charmap->type) { /* Translate utf-8 to bytes */ const char *p = isrch->pattern; ptrdiff_t len = sLEN(isrch->pattern); while (len) { int tc = utf8_decode_fwrd(&p, &len); if (tc >= 0) { tc = from_uni(locale_map, tc); isrch->prompt = vsadd(isrch->prompt, TO_CHAR_OK(tc)); } } } else { /* FIXME: translate when charmaps do not match */ isrch->prompt = vsncpy(sv(isrch->prompt),sv(isrch->pattern)); } if (mkqwnsr(bw->parent, sv(isrch->prompt), itype, iabrt, isrch, notify)) { return 0; } else { rmisrch(isrch); return -1; }}
开发者ID:bstreiff,项目名称:joe-editor,代码行数:101,
示例27: rc//////////////////// Create string dialog. If no icon specified, use IDI_QUESTION. Note that// the order in which the controls are added is the TAB order.//BOOL CInputDialog::Init(LPCTSTR caption, LPCTSTR prompt, CWnd* pParent, WORD nIDIcon){ const DWORD CXDIALOG = 200; // dialog width const DWORD DLGMARGIN = 7; // margins all around const DWORD CYSTATIC = 8; // height of static text const DWORD CYEDIT = 12; // height of edit control const DWORD CYSPACE = 5; // vertical space between controls const DWORD CXBUTTON = 40; // button width... const DWORD CYBUTTON = 15; // ..and height CDlgTemplateBuilder& dtb = m_dtb; CRect rc( CPoint(0,0), CSize(CXDIALOG, CYSTATIC + CYEDIT + CYBUTTON + 2*DLGMARGIN + 2*CYSPACE)); // create dialog header DLGTEMPLATE* pTempl = dtb.Begin(WS_POPUPWINDOW|DS_MODALFRAME|WS_DLGFRAME,rc,caption); // shrink main rect by margins rc.DeflateRect(CSize(DLGMARGIN,DLGMARGIN)); // create icon if needed if (nIDIcon) { if (nIDIcon >= (WORD)IDI_APPLICATION) { // if using a system icon, I load it here and set it in OnInitDialog // because can't specify system icon in template, only icons from // application resource file. m_hIcon = ::LoadIcon(NULL, MAKEINTRESOURCE(nIDIcon)); nIDIcon = 0; } else { m_hIcon = NULL; } // The size is calculated in pixels, but it seems to work OK--??? CSize sz(GetSystemMetrics(SM_CXICON),GetSystemMetrics(SM_CYICON)); CRect rcIcon(rc.TopLeft(), sz); dtb.AddItem(CDlgTemplateBuilder::STATIC, // add icon WS_VISIBLE|WS_CHILD|SS_LEFT|SS_ICON, rc, nIDIcon, IDICON); rc.left += sz.cx; // shrink main rect by width of icon } // add prompt rc.bottom = rc.top + CYSTATIC; // height = height of static dtb.AddItem(CDlgTemplateBuilder::STATIC, // add it WS_VISIBLE|WS_CHILD|SS_LEFT, rc, prompt); // add edit control rc += CPoint(0, rc.Height() + CYSPACE); // move below static rc.bottom = rc.top + CYEDIT; // height = height of edit control dtb.AddItem(CDlgTemplateBuilder::EDIT, // add it ES_AUTOHSCROLL must be add WS_VISIBLE|WS_CHILD|WS_BORDER|WS_TABSTOP|ES_AUTOHSCROLL, rc, m_str, IDEDIT); // add OK button rc += CPoint(0, rc.Height() + CYSPACE); // move below edit control rc.bottom = rc.top + CYBUTTON; // height = button height rc.left = rc.right - CXBUTTON; // width = button width rc -= CPoint(CXBUTTON + DLGMARGIN,0); // move left one button width dtb.AddItem(CDlgTemplateBuilder::BUTTON, // add it WS_VISIBLE|WS_CHILD|WS_TABSTOP|BS_DEFPUSHBUTTON, rc, _T("&OK"), IDOK); // add Cancel button rc += CPoint(CXBUTTON + DLGMARGIN,0); // move right again dtb.AddItem(CDlgTemplateBuilder::BUTTON, // add Cancel button WS_VISIBLE|WS_CHILD|WS_TABSTOP, rc, _T("&Cancel"), IDCANCEL); return InitModalIndirect(pTempl, pParent);}
开发者ID:cugxiangzhenwei,项目名称:TSP_Zhenwei,代码行数:71,
示例28: GetToolBar//.........这里部分代码省略......... LONG lNewStyle = m_lFsOldWindowStyle; LONG lOffFlags = 0; if (lStyle & wxFULLSCREEN_NOBORDER) lOffFlags |= FCF_BORDER; if (lStyle & wxFULLSCREEN_NOCAPTION) lOffFlags |= (FCF_TASKLIST | FCF_SYSMENU); lNewStyle &= (~lOffFlags); // // Change our window style to be compatible with full-screen mode // ::WinSetWindowULong((HWND)m_hFrame, QWL_STYLE, (ULONG)lNewStyle); // // Resize to the size of the desktop int nWidth; int nHeight; RECTL vRect; ::WinQueryWindowRect(HWND_DESKTOP, &vRect); nWidth = vRect.xRight - vRect.xLeft; // // Remember OS/2 is backwards! // nHeight = vRect.yTop - vRect.yBottom; SetSize( nWidth, nHeight); // // Now flush the window style cache and actually go full-screen // ::WinSetWindowPos( (HWND) GetParent()->GetHWND() ,HWND_TOP ,0 ,0 ,nWidth ,nHeight ,SWP_SIZE | SWP_SHOW ); wxSize sz( nWidth, nHeight ); wxSizeEvent vEvent( sz, GetId() ); HandleWindowEvent(vEvent); return true; } else { if (!IsFullScreen()) return false; m_bFsIsShowing = false;#if wxUSE_TOOLBAR wxToolBar* pTheToolBar = GetToolBar(); // // Restore the toolbar, menubar, and statusbar // if (pTheToolBar && (m_lFsStyle & wxFULLSCREEN_NOTOOLBAR)) { pTheToolBar->SetSize(wxDefaultCoord, m_nFsToolBarHeight); pTheToolBar->Show(true); }#endif //wxUSE_TOOLBAR#if wxUSE_STATUSBAR if ((m_lFsStyle & wxFULLSCREEN_NOSTATUSBAR) && (m_nFsStatusBarFields > 0)) { CreateStatusBar(m_nFsStatusBarFields);// PositionStatusBar(); }#endif //wxUSE_STATUSBAR if ((m_lFsStyle & wxFULLSCREEN_NOMENUBAR) && (m_hMenu != 0)) { ::WinSetParent(m_hMenu, m_hFrame, FALSE); ::WinSetOwner(m_hMenu, m_hFrame); ::WinSendMsg(m_hFrame, WM_UPDATEFRAME, (MPARAM)FCF_MENU, (MPARAM)0); } Maximize(m_bFsIsMaximized); ::WinSetWindowULong( m_hFrame ,QWL_STYLE ,(ULONG)m_lFsOldWindowStyle ); ::WinSetWindowPos( (HWND) GetParent()->GetHWND() ,HWND_TOP ,m_vFsOldSize.x ,m_vFsOldSize.y ,m_vFsOldSize.width ,m_vFsOldSize.height ,SWP_SIZE | SWP_SHOW ); } return wxFrameBase::ShowFullScreen(bShow, lStyle);} // end of wxFrame::ShowFullScreen
开发者ID:esrrhs,项目名称:fuck-music-player,代码行数:101,
示例29: fopenvoid Objecte::readObj(QString filename){ FILE *fp = fopen(filename.toLocal8Bit(),"rb"); if (!fp) { cout << "No puc obrir el fitxer " << endl; } else { while (true) { char *comment_ptr = ReadFile::fetch_line (fp); if (comment_ptr == (char *) -1) /* end-of-file */ break; /* did we get a comment? */ if (comment_ptr) { //make_comment (comment_ptr); continue; } /* if we get here, the line was not a comment */ int nwords = ReadFile::fetch_words(); /* skip empty lines */ if (nwords == 0) continue; char *first_word = ReadFile::words[0]; if (!strcmp (first_word, "v")) { if (nwords < 4) { fprintf (stderr, "Too few coordinates: '%s'", ReadFile::str_orig); exit (-1); } QString sx(ReadFile::words[1]); QString sy(ReadFile::words[2]); QString sz(ReadFile::words[3]); double x = sx.toDouble(); double y = sy.toDouble(); double z = sz.toDouble(); if (nwords == 5) { QString sw(ReadFile::words[4]); double w = sw.toDouble(); x/=w; y/=w; z/=w; } // S'afegeix el vertex a l'objecte vertexs.push_back(point4(x, y, z, 1)); } else if (!strcmp (first_word, "vn")) { } else if (!strcmp (first_word, "vt")) { } else if (!strcmp (first_word, "f")) { // S'afegeix la cara a l'objecte // A modificar si es vol carregar mes de un objecte construeix_cara (&ReadFile::words[1], nwords-1, this, 0); } // added else if (!strcmp (first_word, "mtllib")) { //read_mtllib (&words[1], nwords-1, matlib, filename); } else if (!strcmp (first_word, "usemtl")) { //int size = strlen(words[1])-1; //while (size && (words[1][size]=='/n' || words[1][size]=='/r') ) words[1][size--]=0; //currentMaterial = matlib.index(words[1]); } // fadded else { //fprintf (stderr, "Do not recognize: '%s'/n", str_orig); } } } capsa = calculCapsa3D();}
开发者ID:oriolrg,项目名称:UB_grafics,代码行数:85,
示例30: sptvoid spt(nd *n,nd *&l,nd *&r,int key){ if(!n)l=r=0; else if(sz(n->l)<key)spt(n->r,n->r,r,key-sz(n->l)-1),l=n; else spt(n->l,l,n->l,key),r=n; upd(n);}
开发者ID:BinAccel,项目名称:competitive-programming,代码行数:6,
注:本文中的sz函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ t0函数代码示例 C++ syswarn函数代码示例 |