//------------------------------------------------------------------------------ //! \brief Do the collision detection between player and object //------------------------------------------------------------------------------ void CClockBoss::CollisionCheck( void ) { InitSize(clock_col_head); CheckKillPlayer(); InitSize(clock_col_body); CheckKillPlayer(); }
//------------------------------------------------------------------------------ //! \brief Do the collision detection between player and object //------------------------------------------------------------------------------ void CCrabBoss::CollisionCheck( void ) { InitSize(crab_col_head); CheckKillPlayer(); InitSize(crab_col_middle); CheckKillPlayer(); InitSize(crab_col_bottom); CheckKillPlayer(); }
//------------------------------------------------------------------------------ //! \brief Do the collision detection between player and object //------------------------------------------------------------------------------ void CClownBoss::CollisionCheck( void ) { InitSize(cb_col_head); CheckKillPlayer(); InitSize(cb_col_top); CheckKillPlayer(); InitSize(cb_col_middle); CheckKillPlayer(); InitSize(cb_col_bottom); CheckKillPlayer(); }
BOOL CPpcMainWnd::InitImages() { InitSize(); BOOL fRet = CMainWnd::InitImages(); if (fRet) { ShowWindow(m_hwndLV, ((CPpcSkin*)m_pSkin)->IsPlaylistVisible() ? SW_SHOW : SW_HIDE); ListView_SetBkColor(m_hwndLV, ((CPpcSkin*)m_pSkin)->GetColor2(COLOR2_PLAYLISTBACK)); ListView_SetTextBkColor(m_hwndLV, ((CPpcSkin*)m_pSkin)->GetColor2(COLOR2_PLAYLISTBACK)); ListView_SetTextColor(m_hwndLV, ((CPpcSkin*)m_pSkin)->GetColor2(COLOR2_PLAYLISTTEXT)); m_hFntTitle = (HFONT)SendMessage(m_hWnd, WM_GETFONT, 0, 0); InvalidateRect(m_hwndLV, NULL, TRUE); UpdateWindow(m_hwndLV); // ボリュームスライダーが有効か無効か if (m_pSkin->GetImageList(IMAGELIST_VOLSLIDER) && m_pSkin->GetImageList(IMAGELIST_VOLTRACK)) { m_nVolumeSliderLeft = VOLSLIDER_LEFT; m_nVolumeSliderTop = PPC_VOLSLIDER_TOP; m_nVolumeSliderWidth = VOLSLIDER_WIDTH; m_nVolumeSliderHeight = VOLSLIDER_HEIGHT; } else { m_nVolumeSliderLeft = 0; m_nVolumeSliderTop = 0; m_nVolumeSliderWidth = 0; m_nVolumeSliderHeight = 0; } m_nBtnMax = PPC_BTN_MAX; } return fRet; }
/*------------------------------------------------------------------------------*\ ( ) - \*------------------------------------------------------------------------------*/ BmTextControl::BmTextControl( const char* label, BmMenuControllerBase* menu, int32 fixedTextLen, int32 minTextLen) : inherited( BRect(0,0,0,0), NULL, "", NULL, NULL, B_FOLLOW_NONE) , mLabelIsMenu( true) , mTextView( static_cast<BTextView*>( ChildAt( 0))) { InitSize( label, fixedTextLen, minTextLen, menu); }
void C4Menu::UpdateScrollBar() { C4GUI::Element *pLast = pClientWindow->GetLast(); bool fBarNeeded = pLast && pLast->GetBounds().y + pLast->GetBounds().Hgt > pClientWindow->GetBounds().Hgt; if (pClientWindow->IsScrollBarEnabled() == fBarNeeded) return; // resize for bar InitSize(); }
/*------------------------------------------------------------------------------*\ ( ) - \*------------------------------------------------------------------------------*/ BmTextControl::BmTextControl( const char* label, bool labelIsMenu, int32 fixedTextLen, int32 minTextLen) : inherited( BRect(0,0,0,0), NULL, labelIsMenu ? "" : label, NULL, NULL, B_FOLLOW_NONE) , mLabelIsMenu( labelIsMenu) , mTextView( static_cast<BTextView*>( ChildAt( 0))) { InitSize( label, fixedTextLen, minTextLen, NULL); }
MemoryTextureHost::MemoryTextureHost(uint8_t* aBuffer, gfx::SurfaceFormat aFormat, TextureFlags aFlags) : BufferTextureHost(aFormat, aFlags) , mBuffer(aBuffer) { MOZ_COUNT_CTOR(MemoryTextureHost); InitSize(); }
//------------------------------------------------------------------------------ //! \brief Check to see if a spike hit this objects body //! //! \param tobj = Spike Object //! \param pcb = The collision box //! //! \return 0 = No collision occured //------------------------------------------------------------------------------ int CCrabBoss::HitBody( CSpikeObj *tobj, OBJSIZE *pcb ) { InitSize(*pcb); if (CheckHit( tobj )) { tobj->SetExplode(); return 1; } return 0; }
//------------------------------------------------------------------------------ //! \brief Check to see if a bowling ball hit this objects body //! //! \param tobj = bowling ball Object //! \param pcb = The collision box //! //! \return 0 = No collision occured //------------------------------------------------------------------------------ int CClockBoss::HitBody( CBowlingObj *tobj, OBJSIZE *pcb ) { InitSize(*pcb); if (CheckHit( tobj )) { tobj->SetExplode(); return 1; } return 0; }
//------------------------------------------------------------------------------ //! \brief Check to see if a tomato hit this objects body //! //! \param tobj = Tomato Object //! \param pcb = The collision box //! //! \return 0 = No collision occured //------------------------------------------------------------------------------ int CClownBoss::HitBody( CTomatoObj *tobj, OBJSIZE *pcb ) { InitSize(*pcb); if (CheckHit( tobj )) { tobj->SetExplode(); return 1; } return 0; }
wxPaintDCImpl::wxPaintDCImpl(wxPaintDC* owner, wxWindow* window) : wxGTKCairoDCImpl(owner, window) { cairo_t* cr = window->GTKPaintContext(); wxCHECK_RET(cr, "using wxPaintDC without being in a native paint event"); InitSize(gtk_widget_get_window(window->m_wxwindow)); wxGraphicsContext* gc = wxGraphicsContext::CreateFromNative(cr); gc->EnableOffset(m_contentScaleFactor <= 1); SetGraphicsContext(gc); }
ShmemTextureHost::ShmemTextureHost(const ipc::Shmem& aShmem, gfx::SurfaceFormat aFormat, ISurfaceAllocator* aDeallocator, TextureFlags aFlags) : BufferTextureHost(aFormat, aFlags) , mShmem(MakeUnique<ipc::Shmem>(aShmem)) , mDeallocator(aDeallocator) { MOZ_COUNT_CTOR(ShmemTextureHost); InitSize(); }
void ComicUIObject::UpdatePage() { if (m_index >= 0 && m_index < m_comicList.size()) { std::pair<UInt32, UInt32> textureSize = sGameObjectFactory.LoadTexture(this, m_comicList[m_index]); InitSize(textureSize.first / 10, textureSize.second / 10); m_upButton->SetEnabled(m_index > 0); m_downButton->SetEnabled(m_index < m_comicList.size() - 1); } }
BrainGenome::BrainGenome() { int numGroups = Simulation::PARAMS.numInputNeurGroups + Simulation::PARAMS.numOutputNeurGroups + Simulation::PARAMS.maxInternalNeuralGroups; int genomeSize = NUM_PHYSIOLOGICAL_GENES + (numGroups * NUM_GROUP_GENES) + (numGroups * numGroups * NUM_SYNAPSE_TYPES * NUM_SYNAPSE_GENES); InitSize(genomeSize); }
wxScreenDCImpl::wxScreenDCImpl(wxScreenDC* owner) : wxGTKCairoDCImpl(owner, static_cast<wxWindow*>(NULL)) { GdkWindow* window = gdk_get_default_root_window(); InitSize(window); cairo_t* cr = gdk_cairo_create(window); wxGraphicsContext* gc = wxGraphicsContext::CreateFromNative(cr); cairo_destroy(cr); gc->EnableOffset(m_contentScaleFactor <= 1); SetGraphicsContext(gc); }
//------------------------------------------------------------------------------ //! \brief Initialise the number rising object //------------------------------------------------------------------------------ CClownBoss::CClownBoss() { m_Frame = SPR_BUG_LEFT1; m_Flags = FLAG_BADDIE | FLAG_HARDWALL; m_MouthCounter = 0; m_WhiteFlag = 0; InitMovement(clownboss_move); InitSize(clownboss_size); m_Y_Flag = -1; m_Command = CLOWNBOSS_NORMAL; m_DamageCnt = 0; }
//------------------------------------------------------------------------------ //! \brief Initialise the number rising object //------------------------------------------------------------------------------ CClockBoss::CClockBoss() { m_Frame = SPR_BUG_LEFT1; m_Flags = FLAG_BADDIE | FLAG_HARDWALL; m_WhiteFlag = 0; InitMovement(clockboss_move); InitSize(clockboss_size); m_Y_Flag = -1; m_Command = CLOCKBOSS_NORMAL; m_DamageCnt = 0; m_HandCntS = m_HandCntB = 0; m_pFrmB = m_pFrmS = 0; }
CPpcMainWnd::CPpcMainWnd() { m_fMenuLoop = FALSE; m_fActive = FALSE; m_fHotKey = FALSE; m_dwLastOperation = 0; m_fDisplay = GetDisplayStatus(); m_hwndCB = NULL; m_hwndLV = NULL; m_fListDrag = FALSE; m_fHold = FALSE; m_fNoListRedraw = FALSE; InitSize(); }
//------------------------------------------------------------------------------ //! \brief Initialise the object //------------------------------------------------------------------------------ CEndBoss::CEndBoss() { m_Frame = SPR_LBOSS_L1; m_Flags = FLAG_BADDIE; m_DieScore = 1000; m_DieScoreFrame = SPR_NUM_1000; m_pSequence = anm_lboss_left; m_Release_YOff = 8; InitMovement(endboss_move_slow); InitSize(endboss_size); m_Segment = 0; m_pSuckFrames = &suck_lboss_frames; m_pLastSeg = m_pNextSeg = 0; m_HatFrame = SPR_LBOSS_DSMALL; m_BombPause = 0; }
BOOL CTransDlg::OnInitDialog() { CDialog::OnInitDialog(); InitSize(); // Size the Dialog and move it to the center of its parent MoveWindow(0, 0, m_width, m_height, FALSE); SetupRegion(); CenterWindow (GetParent()); m_popup.LoadMenu (IDR_FLOATER_POPUP); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
//------------------------------------------------------------------------------ //! \brief Initialise the number rising object //------------------------------------------------------------------------------ CCrabBoss::CCrabBoss() { m_Frame = SPR_BUG_LEFT1; m_Flags = FLAG_BADDIE | FLAG_HARDWALL; m_ClawCounter = 0; m_WhiteFlag = 0; m_Pattern = 0; InitMovement(crabboss_move); InitSize(crabboss_size); m_Y_Flag = -1; m_Command = CRABBOSS_NORMAL; m_DamageCnt = 0; m_PipeOffset = 0; m_LumpOffset = 0; m_PipeCmd = PIPE_START; m_EjectFrame = 0; m_EjectDir = 1; }
//------------------------------------------------------------------------------ //! \brief Do the object //------------------------------------------------------------------------------ void CClockBoss::Do( void ) { switch (m_Command) { case CLOCKBOSS_NORMAL: ControlHands(); CollisionCheck(); BallCollision(); InitSize(clockboss_size); DirFly(); break; case CLOCKBOSS_OUCH: m_WhiteFlag = 1; m_OuchCount--; if (m_OuchCount<0) { m_Command = CLOCKBOSS_NORMAL; m_WhiteFlag = 0; } break; } }
//------------------------------------------------------------------------------ //! \brief Do the object //------------------------------------------------------------------------------ void CClownBoss::Do( void ) { switch (m_Command) { case CLOWNBOSS_NORMAL: m_MouthCounter++; CollisionCheck(); TomatoCollision(); InitSize(clownboss_size); DirFly(); break; case CLOWNBOSS_OUCH: m_WhiteFlag = 1; m_OuchCount--; if (m_OuchCount<0) { m_Command = CLOWNBOSS_NORMAL; m_WhiteFlag = 0; } break; } }
void C4Menu::InitLocation(C4Facet &cgoArea) { // Item size by style switch (Style) { case C4MN_Style_Normal: ItemWidth=ItemHeight=C4SymbolSize; break; case C4MN_Style_Context: { ItemHeight = std::max<int32_t>(C4MN_SymbolSize, ::GraphicsResource.FontRegular.GetLineHeight()); int32_t iWdt, iHgt; ::GraphicsResource.FontRegular.GetTextExtent(Caption, ItemWidth, iHgt, true); // FIXME: Blah. This stuff should be calculated correctly by pTitle. ItemWidth += ItemHeight + 16; C4MenuItem *pItem; for (int i = 0; (pItem = GetItem(i)); ++i) { ::GraphicsResource.FontRegular.GetTextExtent(pItem->Caption, iWdt, iHgt, true); ItemWidth = std::max(ItemWidth, iWdt + pItem->GetSymbolWidth(ItemHeight)); } ItemWidth += 3; // Add some extra space so text doesn't touch right border frame... break; } case C4MN_Style_Info: { // calculate size from a default size determined by a window width of C4MN_DefInfoWdt int32_t iWdt,iHgt,iLargestTextWdt; ::GraphicsResource.FontRegular.GetTextExtent(Caption,iWdt,iHgt, true); iLargestTextWdt = iWdt + 2 * C4MN_SymbolSize + C4MN_FrameWidth; ItemWidth=std::min<int>(cgoArea.Wdt - 2*C4MN_FrameWidth, std::max(iLargestTextWdt, C4MN_DefInfoWdt)); ItemHeight=0; StdStrBuf sText; C4MenuItem *pItem; for (int32_t i=0; (pItem=GetItem(i)); ++i) { ::GraphicsResource.FontRegular.BreakMessage(pItem->InfoCaption, ItemWidth, &sText, true); ::GraphicsResource.FontRegular.GetTextExtent(sText.getData(),iWdt,iHgt, true); assert(iWdt <= ItemWidth); ItemWidth=std::max(ItemWidth,iWdt); ItemHeight=std::max(ItemHeight,iHgt); iLargestTextWdt = std::max(iLargestTextWdt, iWdt); } // although width calculation is done from C4MN_DefInfoWdt, this may be too large for some very tiny info windows // so make sure no space is wasted ItemWidth = std::min(ItemWidth, iLargestTextWdt); // Add some extra space so text doesn't touch right border frame... ItemWidth += 3; // Now add some space to show the picture on the left ItemWidth += C4PictureSize; // And set a minimum item height (again, for the picture) ItemHeight = std::max<int>(ItemHeight, C4PictureSize); break; } case C4MN_Style_Dialog: { // dialog window: Item width is whole dialog, portrait subtracted if any // Item height varies int32_t iWdt,iHgt; ::GraphicsResource.FontRegular.GetTextExtent(Caption,iWdt,iHgt, true); ItemWidth=std::min<int>(cgoArea.Wdt - 2*C4MN_FrameWidth, std::max<int>(iWdt + 2 * C4MN_SymbolSize + C4MN_FrameWidth, C4MN_DlgWdt)); ItemHeight=iHgt; // Items may be multiline and higher if (HasPortrait()) { // subtract portrait only if this would not make the dialog too small if (ItemWidth > C4MN_DlgPortraitWdt*2 && cgoArea.Hgt > cgoArea.Wdt) ItemWidth = std::max<int>(ItemWidth - C4MN_DlgPortraitWdt - C4MN_DlgPortraitIndent, 40); } } } int DisplayedItemCount = ItemCount - HasPortrait(); if (Style == C4MN_Style_Dialog) Lines = C4MN_DlgLines; else Lines = DisplayedItemCount/Columns+std::min<int32_t>(DisplayedItemCount%Columns,1); // adjust by max. height Lines=std::max<int32_t>(std::min<int32_t>((cgoArea.Hgt-100)/std::max<int32_t>(ItemHeight,1),Lines),1); InitSize(); int32_t X,Y; if (Alignment & C4MN_Align_Free) { X = rcBounds.x; Y = rcBounds.y; } else { X = (cgoArea.Wdt - rcBounds.Wdt)/2; Y = (cgoArea.Hgt - rcBounds.Hgt)/2; } // Alignment if (Alignment & C4MN_Align_Left) X=C4SymbolSize; if (Alignment & C4MN_Align_Right) X=cgoArea.Wdt-2*C4SymbolSize-rcBounds.Wdt; if (Alignment & C4MN_Align_Top) Y=C4SymbolSize; if (Alignment & C4MN_Align_Bottom) Y=cgoArea.Hgt-C4SymbolSize-rcBounds.Hgt; if (Alignment & C4MN_Align_Free) { X=Clamp<int32_t>(X,0,cgoArea.Wdt-rcBounds.Wdt); Y=Clamp<int32_t>(Y,0,cgoArea.Hgt-rcBounds.Hgt); } // Centered (due to small viewport size) if (rcBounds.Wdt>cgoArea.Wdt-2*C4SymbolSize) X=(cgoArea.Wdt-rcBounds.Wdt)/2; if (rcBounds.Hgt>cgoArea.Hgt-2*C4SymbolSize) Y=(cgoArea.Hgt-rcBounds.Hgt)/2; SetPos(X, Y); // Position initialized: Make it visible to be used! SetVisibility(true); // now align all menu items correctly UpdateElementPositions(); // and correct scroll pos UpdateScrollBar(); AdjustPosition(); }
void C4Menu::SetSize(int32_t iToWdt, int32_t iToHgt) { if (iToWdt) Columns=iToWdt; if (iToHgt) Lines=iToHgt; InitSize(); }
void XDomTD::LayeroutCells(DRAWCONTEXT*pDraw,CELLDATA*pData,int span) { CELLDATA data; LAYEROUTDATA margin; SpanCol(pData); data.Reset(pData->cur.x,pData->cur.y,XTRUE); PreLayerout(pDraw,&data,&margin); data.pData=XNULL; int cspan=//pDraw->DCOLSPAN;// //span==0?XMAX(FindAttrib(XEAB::COLSPAN,1),1):span; span==0?pDraw->DCOLSPAN:span; int rspan=pDraw->DROWSPAN;// //XMAX(FindAttrib(XEAB::ROWSPAN,1),1); //for debug XRect rw=pDraw->win; // if(pDraw->SETWIDTH==663) // int a=0; XSize sz; if(pData->bFinal) { int w=pData->fixCols[pData->nCol]; for(int i=1;i<cspan;i++) { if(pData->nCol+i>=(int)pData->fixCols.GetSize()) break; w+=pData->fixCols[pData->nCol+i]; } InitMargin(pDraw,&data,&margin,m_nPosX,m_nPosY,w,m_nHeight); XPoint pt=data.cur; if(InitSize(pDraw,&data,w,XFALSE)) m_nFixHeight=data.max.cy-pt.y; //XSize sz; sz=XSize(m_nWidth,m_nHeight); SetMargin(&margin,m_nWidth,m_nHeight,sz); SaveData(&data); //pDraw->win=rt; //m_nFixHeight=m_nHeight; } else { //data.Reset(pData->cur.x,pData->cur.y,XTRUE); int w=0; //if(pData->nCol+cspan<(XINT)pData->setCols.GetSize()) { //w=pData->setCols[pData->nCol]; for(int i=0;i<cspan;i++) { if(pData->nCol+i>=(int)pData->setCols.GetSize()) break; w+=pData->setCols[pData->nCol+i]; } //int w1=0; /*for(int i=0;i<cspan;i++) { if(pData->nCol+i>=(int)pData->cols[i] }*/ } InitMargin(pDraw,&data,&margin,m_nPosX,m_nPosY,w,m_nHeight); XPoint pt=data.cur; XU8 bFix=InitFixed(pDraw,&data,w); sz=XSize(m_nWidth,m_nHeight); SetMargin(&margin,m_nWidth,m_nHeight,sz); //pDraw->win=rt; //m_nHeight=XMAX(m_nHeight,pDraw->SETHEIGHT);//m_nHeight;//XMAX(m_nHeight,pDraw->SPACE); //w=m_nWidth; if(bFix) { m_nFixWidth=m_nWidth; m_nFixHeight=data.max.cy-pt.y; } if(span==0) { int nMin=m_nMin; //if(bFix) m_nFixWidth=data.max.cx- w=m_nFixWidth; for(int i=0;i<cspan;i++) { XU16 id=pData->nCol+i; if(id>=pData->cols.GetSize()) { pData->tabs.Add(bFix==1); pData->cols.Add(nMin/(cspan-i)); pData->fixCols.Add(w/(cspan-i)); nMin-=nMin/(cspan-i); w-=w/(cspan-i); //break; } else if(i+1<cspan) { pData->tabs[id]|=bFix; nMin=XMAX(nMin-pData->cols[id],0); w=XMAX(w-pData->fixCols[id],0); } else { pData->tabs[id]|=bFix; if(pData->cols[id]<nMin) pData->cols[id]=nMin; if(pData->fixCols[id]<w) pData->fixCols[id]=w; } } } } //m_rows.DataFrom(data.rowws); //m_cols.DataFrom(data.fixCols); //XSize size(m_nWidth,m_nHeight); //SetMargin(&margin,m_nWidth,m_nHeight,size); /* XString8 str=FindAttrib(XEAB::ID,""); if(str=="999") int a=0;*/ if(pDraw->bCollapse) { //m_nWidth-=2; //m_nHeight-=2; //sz.cx-=2; sz.cy-=2; } //*///*/ if(rspan<=1) SetTabRow(pDraw,pData,sz.cx,sz.cy);//m_nWidth,m_nHeight);//XSize(m_nWidth,m_nHeight),m_nMin,XTRUE); else { SetTabRow(pDraw,pData,sz.cx,pDraw->SPACE);//XSize(m_nWidth,pDraw->nRowSpace),m_nMin,XTRUE); pData->spans.Add(rspan); pData->spans.Add(pData->nCol); pData->spans.Add(m_nWidth); pData->spans.Add(m_nFixHeight); pData->spans.Add(cspan); } pDraw->win=rw; pData->nCol+=cspan; EndLayerout(pDraw,&data); }
void XDomTD::LayeroutCell(DRAWCONTEXT*pDraw,CELLDATA*pData,int span) { SpanCol(pData); //if(pDraw->win.Width()<6) return; if(pData->nRow>=(XINT)pData->rowws.GetSize()) return; XU8 ah=pDraw->ALIGNH; pDraw->ALIGNH=XEA::MIDDLE; LAYEROUTDATA margin; CELLDATA data; data.Reset(pData->cur.x,pData->cur.y,XTRUE); PreLayerout(pDraw,&data,&margin); data.pData=XNULL; XRect rect=pDraw->win; m_nPosX=pData->cur.x; m_nPosY=pData->cur.y; // if(pDraw->SETHEIGHT==180) // int a=0; int rspan=pDraw->DROWSPAN;//XMAX(FindAttrib(XEAB::ROWSPAN,1),1); int cspan=span==0?pDraw->DCOLSPAN:span;//XMAX(FindAttrib(XEAB::COLSPAN,1),1):span; int h=pData->rowws[pData->nRow]; for(int i=1;i<rspan;i++) { if(pData->nRow+i>=(int)pData->rowws.GetSize()) break; h+=pData->rowws[pData->nRow+i]; } if(h>m_nHeight) m_nHeight=h; InitMargin(pDraw,&data,&margin,m_nPosX,m_nPosY,m_nWidth,m_nHeight,XFALSE); //if(pDraw->bCollapse) //{data.cur.y+=2;m_nPosY+=2;} switch(pDraw->ALIGNH) { case XEA::MIDDLE:data.cur.y+=(m_nHeight-m_nFixHeight)>>1;break; case XEA::BOTTOM:data.cur.y+=(m_nHeight-m_nFixHeight);break; } //data.cur.y=AlignCol(pDraw,pData,m_nFixHeight+(pDraw->PADDING<<1),pDraw->ALIGNH,m_nHeight)+ // pDraw->SPACING;//pDraw->nRowSpace; //int px=data.cur.x;//+dd;//pDraw->nColSpace; //data.cur.x=px; //data.cur.y=py; //data.bReturn=XTRUE; //InitMargin(pDraw, InitSize(pDraw,&data,m_nWidth,XTRUE); // XDomNode::Handle(XDO_LAYEROUT_CELLS,(XU32)pDraw,(XU32)&data); // // data.Reset(px,py,data.alignw,data.alignh,data.nowrap); // data.bReturn=XTRUE; // AlignRow(pDraw,&data); NewRow(0,pDraw,&data,0); data.bEmpty=XTRUE; if(pDraw->bCollapse) { data.cur.y+=2; data.cur.x+=2; //m_nWidth+=2; //m_nHeight+=2; } HandleChild(XDO_LAYEROUT_CELL,(XU32)pDraw,(XU32)&data); XSize size(m_nWidth,m_nHeight); SetMargin(&margin,m_nWidth,m_nHeight,size); /*if(pData->bCollapse) { m_nWidth+=2; m_nHeight+=2; }*/ pDraw->win=rect; SaveData(&data); EndLayerout(pDraw,&data); pDraw->ALIGNH=ah; //int rspan=FindAttrib(XEAB::ROWSPAN,1); if(rspan<=1) SetTabRow(pDraw,pData,size.cx,size.cy);//m_nWidth,m_nHeight);//XSize(m_nWidth,m_nHeight),m_nMin,XFALSE); //else else //if(rspan>1) { SetTabRow(pDraw,pData,size.cx,pDraw->SPACE);//XSize(m_nWidth,pDraw->nRowSpace),m_nMin,XFALSE); pData->spans.Add(rspan); pData->spans.Add(pData->nCol); pData->spans.Add(m_nWidth); pData->spans.Add(m_nFixHeight); pData->spans.Add(cspan); } //SetRow(pDraw,pData,XSize(m_nWidth,m_nHeight),data.nMin,XFALSE,XFALSE); //pData->cur.x+=m_nWidth;////pData->fixCols[pData->nCol]; pData->nCol+=cspan;//=cspan; //if(pData->max.cx<m_nPosX+m_nWidth) // pData->max.cx=m_nPosX+m_nWidth; //if(pData->max.cy<m_nPosY+m_nHeight) // pData->max.cy=m_nPosY+m_nHeight; }
BOOL CpermoDlg::OnInitDialog() { CDialog::OnInitDialog(); // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 //AllocConsole(); //freopen("CONOUT$","w",stdout); //bIsWindowsVistaOrGreater = false; //判断操作系统版本 // DWORD dwVersion = 0; // DWORD dwMajorVersion = 0; // DWORD dwMinorVersion = 0; // dwVersion = ::GetVersion(); // dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion))); // //dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion))); // if (dwMajorVersion > 5) // { // bIsWindowsVistaOrGreater = true; // } /* If dwMajorVersion = 6 And dwMinorVersion = 1 Then GetWinVersion = "windows 7" If dwMajorVersion = 6 And dwMinorVersion = 0 Then GetWinVersion = "windows vista" If dwMajorVersion = 5 And dwMinorVersion = 1 Then GetWinVersion = "windows xp" If dwMajorVersion = 5 And dwMinorVersion = 0 Then GetWinVersion = "windows 2000" */ BOOL bRet = FALSE; ::SystemParametersInfo(SPI_GETWORKAREA, 0, &rWorkArea, 0); // 获得工作区大小 bRet = SetWorkDir(); if (!bRet) { AfxMessageBox(_T("额...初始化失败!")); return FALSE; } OpenConfig(); InitSize(); CreateInfoDlg(); GetWindowRect(&rCurPos); if (!::GetSystemTimes(&preidleTime, &prekernelTime, &preuserTime)) { return -1; } m_SubMenu_NetPort.CreatePopupMenu(); MFNetTraffic m_cTrafficClassTemp; //更新:增加对所有发现的网络接口监控遍历,防止监控的接口非连接网络的接口 double tottraff = 0, maxtmp = 0; CString tmp, tmp2; int nCount = m_cTrafficClassTemp.GetNetworkInterfacesCount(); for (int i = 0; i <= nCount; i++) { if ((tottraff = m_cTrafficClassTemp.GetInterfaceTotalTraffic(i) / (1024.0*1024.0)) > 0) { if (tottraff > maxtmp) { maxtmp = tottraff; SelectedInterface = i; isOnline = TRUE; } } m_cTrafficClassTemp.GetNetworkInterfaceName(&tmp, i); tmp2.Format(_T("%s : %.1f MB"), tmp, tottraff); m_SubMenu_NetPort.AppendMenu(MF_STRING, i + START_INDEX, tmp2); } //创建菜单 InitPopMenu(nCount); //默认置顶 if (bTopmost) { SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); m_Menu.CheckMenuItem(IDM_TOPMOST, MF_BYCOMMAND | MF_CHECKED); } if (bAutoHide) { m_Menu.CheckMenuItem(IDM_AUTOHIDE, MF_BYCOMMAND | MF_CHECKED); } if (0 == nShowWay) { m_Menu.CheckMenuItem(IDM_SHOWBYHOVER, MF_BYCOMMAND | MF_CHECKED); } else { m_Menu.CheckMenuItem(IDM_SHOWBYLDOWN, MF_BYCOMMAND | MF_CHECKED); } if (bShowNetInfo) { m_Menu.CheckMenuItem(IDM_SHOWNETINFO, MF_BYCOMMAND | MF_CHECKED); } else { m_Menu.CheckMenuItem(IDM_SHOWNETINFO, MF_BYCOMMAND | MF_UNCHECKED); } m_Menu.CheckMenuItem(nSkin, MF_BYCOMMAND | MF_CHECKED); // 在前面打钩 m_Menu.CheckMenuItem(IDM_FONTSIZE12 + nFontSize - 12, MF_BYCOMMAND | MF_CHECKED); IfAutoRun();//判断是否已经开机自启 isOnline = TRUE; //设置网络监控类型 m_cTrafficClassDown.SetTrafficType(MFNetTraffic::IncomingTraffic); m_cTrafficClassUp.SetTrafficType(MFNetTraffic::OutGoingTraffic); //取消任务栏显示 SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE, WS_EX_TOOLWINDOW); //每隔一秒刷新CPU和网络信息 SetTimer(1, 1000, NULL); //刷新内存信息 SetTimer(2, 5000, NULL); ::SetWindowLong( m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE) | WS_EX_LAYERED); ::SetLayeredWindowAttributes( m_hWnd, 0, nTrans, LWA_ALPHA); // 120是透明度,范围是0~255 m_Menu.CheckMenuItem(IDM_TRANS0+(255-nTrans)/25, MF_BYCOMMAND | MF_CHECKED); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE }