コード例 #1
0
//------------------------------------------------------------------------------
//! \brief Do the collision detection between player and object
//------------------------------------------------------------------------------
void CClockBoss::CollisionCheck( void )
{
	InitSize(clock_col_head);
	CheckKillPlayer();
	InitSize(clock_col_body);
	CheckKillPlayer();

}
コード例 #2
0
//------------------------------------------------------------------------------
//! \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();

}
コード例 #3
0
//------------------------------------------------------------------------------
//! \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();

}
コード例 #4
0
ファイル: PpcMainWnd.cpp プロジェクト: jiangzhengwenjz/rtoss
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;
}
コード例 #5
0
ファイル: BmTextControl.cpp プロジェクト: HaikuArchives/Beam
/*------------------------------------------------------------------------------*\
	( )
		-	
\*------------------------------------------------------------------------------*/
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);
}
コード例 #6
0
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();
}
コード例 #7
0
ファイル: BmTextControl.cpp プロジェクト: HaikuArchives/Beam
/*------------------------------------------------------------------------------*\
	( )
		-	
\*------------------------------------------------------------------------------*/
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);
}
コード例 #8
0
ファイル: TextureHost.cpp プロジェクト: dirkschulze/gecko-dev
MemoryTextureHost::MemoryTextureHost(uint8_t* aBuffer,
                                     gfx::SurfaceFormat aFormat,
                                     TextureFlags aFlags)
: BufferTextureHost(aFormat, aFlags)
, mBuffer(aBuffer)
{
  MOZ_COUNT_CTOR(MemoryTextureHost);
  InitSize();
}
コード例 #9
0
//------------------------------------------------------------------------------
//! \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;
}
コード例 #10
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;
}
コード例 #11
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;
}
コード例 #12
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);
}
コード例 #13
0
ファイル: TextureHost.cpp プロジェクト: dirkschulze/gecko-dev
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();
}
コード例 #14
0
ファイル: ComicUIObject.cpp プロジェクト: kerrot/Work
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);
    }
}
コード例 #15
0
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);
}
コード例 #16
0
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);
}
コード例 #17
0
//------------------------------------------------------------------------------
//! \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;
}
コード例 #18
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;
}
コード例 #19
0
ファイル: PpcMainWnd.cpp プロジェクト: jiangzhengwenjz/rtoss
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();
}
コード例 #20
0
//------------------------------------------------------------------------------
//! \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;
}
コード例 #21
0
ファイル: Transdlg.cpp プロジェクト: raveller/raveller
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
}
コード例 #22
0
//------------------------------------------------------------------------------
//! \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;
}
コード例 #23
0
//------------------------------------------------------------------------------
//! \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;
	}
}
コード例 #24
0
//------------------------------------------------------------------------------
//! \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;
	}
}
コード例 #25
0
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();
}
コード例 #26
0
void C4Menu::SetSize(int32_t iToWdt, int32_t iToHgt)
{
	if (iToWdt) Columns=iToWdt;
	if (iToHgt) Lines=iToHgt;
	InitSize();
}
コード例 #27
0
ファイル: XDomTable.cpp プロジェクト: hgl888/nashtest
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);
}
コード例 #28
0
ファイル: XDomTable.cpp プロジェクト: hgl888/nashtest
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;
}
コード例 #29
0
ファイル: permoDlg.cpp プロジェクト: ccxuy/permo
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
}