Example #1
0
void RMMMobileObject::setSpecialBBoxToAnalyze(Rectangle<int> *bboxResult, Rectangle<int> *realBBox, double visualSupport) {

    int
        Xc = RECT_XCENTER(bboxResult),
        Yc = RECT_YCENTER(bboxResult),
        Xb = RECT_XCENTER(realBBox),
        Yb = RECT_YCENTER(realBBox),
        Wc = RECT_WIDTH(bboxResult),
        Hc = RECT_HEIGHT(bboxResult),
        Wb = RECT_WIDTH(realBBox),
        Hb = RECT_HEIGHT(realBBox);
    double
        visualComplement = 1.0 - visualSupport,
        X  = visualSupport * Xc + visualComplement * Xb,
        Y  = visualSupport * Yc + visualComplement * Yb,
        W  = visualSupport * Wc + visualComplement * Wb,
        H  = visualSupport * Hc + visualComplement * Hb;

    RECT_XRIGHT(bboxResult)  = (int) ( (2.0*X + W - 1) / 2.0 );
    RECT_XLEFT(bboxResult)   = (int) ( RECT_XRIGHT(bboxResult) - W + 1 );
    RECT_WIDTH(bboxResult)   = (int) W;

    RECT_YBOTTOM(bboxResult) = (int) ( (2.0*Y + H - 1) / 2.0 );
    RECT_YTOP(bboxResult)    = (int) ( RECT_YBOTTOM(bboxResult) - H + 1 );
    RECT_HEIGHT(bboxResult)  = (int) H;
}
Example #2
0
void CPpcKeyCtrlDlg::OnInitDialog(HWND hDlg)
{
	m_dwStart = GetTickCount();
	SetTimer(hDlg, ID_TIMER_KEYCTRLCLOSE, INT_TIMER_KEYCTRLCLOSE, NULL);

	m_hBrushBack = CreateSolidBrush(m_nColorBack); 

	RECT rc;
	int nXDiff, nYDiff;
	GetWindowRect(hDlg, &rc);
	nXDiff = (RECT_WIDTH(&m_rcDlg) - RECT_WIDTH(&rc)) / 2;
	nYDiff = (RECT_HEIGHT(&m_rcDlg) - RECT_HEIGHT(&rc)) / 2;
	MoveWindow(hDlg, m_rcDlg.left, m_rcDlg.top, RECT_WIDTH(&m_rcDlg), RECT_HEIGHT(&m_rcDlg), TRUE);

	GetWindowRect(GetDlgItem(hDlg, IDC_STATIC_UP), &rc);
	ScreenToClient(hDlg, (LPPOINT)&rc);
	SetWindowPos(GetDlgItem(hDlg, IDC_STATIC_UP), 0, rc.left + nXDiff, rc.top + nYDiff, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
	GetWindowRect(GetDlgItem(hDlg, IDC_STATIC_DOWN), &rc);
	ScreenToClient(hDlg, (LPPOINT)&rc);
	SetWindowPos(GetDlgItem(hDlg, IDC_STATIC_DOWN), 0, rc.left + nXDiff, rc.top + nYDiff, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
	GetWindowRect(GetDlgItem(hDlg, IDC_STATIC_LEFT), &rc);
	ScreenToClient(hDlg, (LPPOINT)&rc);
	SetWindowPos(GetDlgItem(hDlg, IDC_STATIC_LEFT), 0, rc.left + nXDiff, rc.top + nYDiff, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
	GetWindowRect(GetDlgItem(hDlg, IDC_STATIC_RIGHT), &rc);
	ScreenToClient(hDlg, (LPPOINT)&rc);
	SetWindowPos(GetDlgItem(hDlg, IDC_STATIC_RIGHT), 0, rc.left + nXDiff, rc.top + nYDiff, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
	GetWindowRect(GetDlgItem(hDlg, IDC_STATIC_CENTER), &rc);
	ScreenToClient(hDlg, (LPPOINT)&rc);
	SetWindowPos(GetDlgItem(hDlg, IDC_STATIC_CENTER), 0, rc.left + nXDiff, rc.top + nYDiff, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
}
Example #3
0
bool badge::init(HWND hParent) {
	assert(hParent);
	//
	logger_ptr  l = get_slot< badge2logger >().item();
	pref_ptr  p = get_slot< badge2pref >().item();
	badge_ptr w = this->shared_from_this();
	//
	this->badgeImg.loadBitmap((HINSTANCE)GetModuleHandle(NULL), IDR_IMG_BADGE);
	//
	struct _ {
		static bool __(WNDCLASSEX& wcex, CREATESTRUCT& cs, RECT const& rect, HWND parent) {
			wcex.cbSize;
			wcex.style = /*CS_HREDRAW | CS_VREDRAW | */CS_NOCLOSE;
			wcex.lpfnWndProc;
			wcex.cbClsExtra;
			wcex.cbWndExtra;
			wcex.hInstance;
			wcex.hIcon;
			wcex.hCursor;
			wcex.hbrBackground = NULL;//(HBRUSH)GetStockObject( LTGRAY_BRUSH );//CreateHatchBrush( HS_DIAGCROSS, RGB( 0xFF, 0x00, 0x00 ) );
			wcex.lpszMenuName;
			wcex.lpszClassName;
			wcex.hIconSm;
			//
			cs.lpCreateParams;
			cs.hInstance;
			cs.hMenu;
			cs.hwndParent = parent;
			cs.cy = rect.bottom - rect.top;
			cs.cx = rect.right - rect.left;
			cs.y = rect.top;
			cs.x = rect.left;
			cs.style = WS_OVERLAPPED | WS_VISIBLE;
			cs.lpszName;
			cs.lpszClass;
			cs.dwExStyle = WS_EX_PALETTEWINDOW | WS_EX_TOPMOST;
			return true;
		}
	};
	RECT rt, view;
	this->getPref()->getView(this->getPref()->get< bool >(CONFIG_CLIP), view);
	SetRect(&rt, view.left, view.top, 48, view.top + 48);
	OffsetRect(&rt, RECT_WIDTH(view) - RECT_WIDTH(rt), 0);
	if (base_badge_t::init(boost::bind(_::__, _1, _2, boost::ref(rt), hParent), true)) {
		this->setStyles(WS_OVERLAPPED, WS_EX_PALETTEWINDOW | WS_EX_TOPMOST);
		return true;
	}
	return false;
}
Example #4
0
		static void __( frame_ptr const& f, frame_coord const& coord, bool const cf, paint_param_t& pp, RECT r ) {
			HDC dc = pp.dcb.dc;
			RECT rt;
			int const rw = RECT_WIDTH( r );
			int const rh = RECT_HEIGHT( r );
			rt.left 	= r.left + coord.left.get_n() * rw / coord.left.get_d();
			rt.top 		= r.top + coord.top.get_n() * rh / coord.top.get_d();
			rt.right	= rt.left + rw / coord.width;
			rt.bottom	= rt.top + rh / coord.height;
			//
			//
			FrameRect( dc, &rt, ( cf )?( pp.borderActive ):( pp.borderInactive ) );
			InflateRect( &rt, -1, -1 );
			//
			SetBkMode( dc, TRANSPARENT );
			//
			atom::shared_gdiobj<HRGN> rgn = CreateRectRgn( rt.left, rt.top, rt.right, rt.bottom );
			SelectClipRgn( dc, rgn );
			{
				SelectObject( dc, pp.sysFont.font);
				SetTextColor( dc, pp.sysFont.color );
				atom::stringstream_t ss;
				ss << _T( " #" ) << f->get_index();
				DrawText( dc, ss.str().c_str(), -1, &rt, DT_RIGHT | DT_TOP | DT_SINGLELINE );
				//
				SelectObject( dc, pp.textFont.font );
				SetTextColor( dc, pp.textFont.color );
				f->paint( dc, rt, pp.textFont.height );
			}
			SelectClipRgn( dc, NULL );
		}
Example #5
0
LRESULT CALLBACK
TextEditWinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_SIZE:
        {
            RECT clientRect;
            GetClientRect(hwnd, &clientRect);
            MoveWindow(hwndEditCtl, clientRect.left, clientRect.top, RECT_WIDTH(clientRect), RECT_HEIGHT(clientRect), TRUE);
            break;
        }
        case WM_CLOSE:
            ShowWindow(hwnd, SW_HIDE);
            break;
        case WM_COMMAND:
            switch(HIWORD(wParam))
            {
                case EN_UPDATE:
                {
                    HeapFree(GetProcessHeap(), 0, textToolText);
                    textToolTextMaxLen = GetWindowTextLength(hwndEditCtl) + 1;
                    textToolText = HeapAlloc(GetProcessHeap(), HEAP_GENERATE_EXCEPTIONS, sizeof(TCHAR) * textToolTextMaxLen);
                    GetWindowText(hwndEditCtl, textToolText, textToolTextMaxLen);
                    ForceRefreshSelectionContents();
                    break;
                }
            }
            break;
        default:
            return DefWindowProc(hwnd, message, wParam, lParam);
    }
    
    return 0;
}
Example #6
0
void CRenderUtility::DrawText( HDC hDC,LPCTSTR lpszText,RECT& rctSrc,COLORREF color/*= RGB(0,0,0)*/, LPCTSTR lpszFontFamily /*=L"΢ÈíÑźÚ"*/,int nFontSize /*= 12*/,DWORD dwAlignStyle /*= SS_CENTER*/,DWORD dwFontStyle /*= FontStyleRegular*/, int nAlpha /*= 255*/ )
{
	if(0 == nAlpha || NULL == lpszText) return;

	Graphics graphics(hDC);
	FontFamily fontFamily(lpszFontFamily);
	FontStyle fontStyle = (FontStyle)dwFontStyle;

	Gdiplus::Font font(&fontFamily,(float)nFontSize,fontStyle,UnitPixel);
	RectF rcText((float)rctSrc.left,(float)rctSrc.top,(float)RECT_WIDTH(rctSrc),(float)RECT_HEIGHT(rctSrc));
	SolidBrush brush(Color(nAlpha,GetRValue(color),GetGValue(color),GetBValue(color)));
	StringFormat txtFormat;
	if(dwAlignStyle & SS_CENTERIMAGE)
	{
		txtFormat.SetLineAlignment(StringAlignmentCenter);
	}
	if(dwAlignStyle & SS_CENTER){
		txtFormat.SetAlignment(StringAlignmentCenter);
	}
	else if(dwAlignStyle & SS_RIGHT){
		txtFormat.SetFormatFlags(StringFormatFlagsDirectionRightToLeft);
		txtFormat.SetAlignment(StringAlignmentNear);
	}

	graphics.DrawString(lpszText,-1,&font,rcText,&txtFormat,&brush);
}
Example #7
0
void CPlayListDlg::OnInitDialog(HWND hwndDlg)
{
	m_hWnd = hwndDlg;
	ShellInitDialog(m_hWnd);
	HWND hwndLV = GetDlgItem(m_hWnd, IDC_PLAY_LIST);

	RECT rc;
	GetClientRect(hwndLV, &rc);

	ListView_SetExtendedListViewStyle(hwndLV, 
		ListView_GetExtendedListViewStyle(hwndLV) | LVS_EX_FULLROWSELECT);

	// カラムの挿入
	LVCOLUMN lvc;
	lvc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	lvc.fmt = LVCFMT_LEFT;
	lvc.cx = RECT_WIDTH(&rc) - GetSystemMetrics(SM_CXVSCROLL) - 2;
	lvc.pszText = _T("Name");
	lvc.iSubItem = 0;
	ListView_InsertColumn(hwndLV, 0, &lvc);
	
	// イメージリストを設定
	ListView_SetImageList(hwndLV, m_hImageList, LVSIL_SMALL);
	
	// リストを更新
	UpdatePlayList();
}
int
_setDeviceConfig (VideoDevice * vd)
{
  VS_FLOW ("Fun %s in\n", __FUNCTION__);

  struct fb_var_screeninfo fb_var;
  struct fb_fix_screeninfo fb_fix;
  struct mxcfb_pos pos;
  Rect *rect;
  int i;

  int fd = _getDevicefd (vd);

  /* Workaround for ipu hardware, it need set to 0,0 before change another offset */
  pos.x = 0;
  pos.y = 0;
  VS_IOCTL (fd, MXCFB_SET_OVERLAY_POS, here1, &pos);
here1:
  VS_IOCTL (fd, FBIOBLANK, done, FB_BLANK_POWERDOWN);

  //VS_MESSAGE("Set device win"WIN_FMT"\n", WIN_ARGS(&vd->disp));

  rect = &vd->disp;

  VS_IOCTL (fd, FBIOGET_VSCREENINFO, done, &fb_var);

  fb_var.xres = RECT_WIDTH (rect);
  fb_var.xres_virtual = fb_var.xres;
  fb_var.yres = RECT_HEIGHT (rect);
  fb_var.yres_virtual = fb_var.yres * FB_NUM_BUFFERS;
  fb_var.activate |= FB_ACTIVATE_FORCE;
  fb_var.nonstd = vd->fmt;

  fb_var.bits_per_pixel = fmt2bit (vd->fmt);
  VS_IOCTL (fd, FBIOPUT_VSCREENINFO, done, &fb_var);

  VS_IOCTL (fd, FBIOGET_VSCREENINFO, done, &fb_var);
  VS_IOCTL (fd, FBIOGET_FSCREENINFO, done, &fb_fix);

  pos.x = vd->disp.left;
  pos.y = vd->disp.top;
  VS_IOCTL (fd, MXCFB_SET_OVERLAY_POS, here2, &pos);
here2:

  VS_IOCTL (fd, FBIOBLANK, done, FB_BLANK_UNBLANK);

  for (i = 0; i < FB_NUM_BUFFERS; i++) {
    vd->bufaddr[i] =
        (void *) (fb_fix.smem_start + fb_var.yres * fb_fix.line_length * i);
  }


  if (fmt2cs (vd->fmt) == 0) {
    _clearBackground (vd, NULL);
  }


done:
  return 0;
}
Example #9
0
void
placeSelWin()
{
    MoveWindow(hSelection, rectSel_dest.left * zoom / 1000, rectSel_dest.top * zoom / 1000,
               RECT_WIDTH(rectSel_dest) * zoom / 1000 + 6, RECT_HEIGHT(rectSel_dest) * zoom / 1000 + 6, TRUE);
    BringWindowToTop(hSelection);
    InvalidateRect(hImageArea, NULL, FALSE);
}
Example #10
0
static void Trak_read(int player, int *deltax, int *deltay)
{
    if (player != 0 || !This.m_bUseAxis)
    {
        *deltax = *deltay = 0;
        return;
    }

    GetCursorPos(&This.m_Pos);

    if (This.m_Rect.right < This.m_Pos.x)
    {
        This.m_Large.x++;
        This.m_Pos.x -= RECT_WIDTH(This.m_Rect);
        SetCursorPos(This.m_Pos.x, This.m_Pos.y);
    }
    else
    if (This.m_Pos.x < This.m_Rect.left)
    {
        This.m_Large.x--;
        This.m_Pos.x += RECT_WIDTH(This.m_Rect);
        SetCursorPos(This.m_Pos.x, This.m_Pos.y);
    }

    if (This.m_Rect.bottom < This.m_Pos.y)
    {
        This.m_Large.y++;
        This.m_Pos.y -= RECT_HEIGHT(This.m_Rect);
        SetCursorPos(This.m_Pos.x, This.m_Pos.y);
    }
    else
    if (This.m_Pos.y < This.m_Rect.top)
    {
        This.m_Large.y--;
        This.m_Pos.y += RECT_HEIGHT(This.m_Rect);
        SetCursorPos(This.m_Pos.x, This.m_Pos.y);
    }

    *deltax = ((This.m_Large.x * RECT_WIDTH(This.m_Rect))  + This.m_Pos.x - This.m_ptCenter.x);
    *deltay = ((This.m_Large.y * RECT_HEIGHT(This.m_Rect)) + This.m_Pos.y - This.m_ptCenter.y);

    This.m_Large.x = 0;
    This.m_Large.y = 0;
    SetCursorPos(This.m_ptCenter.x, This.m_ptCenter.y);
}
Example #11
0
void CPlayListDlg::OnMove(int x, int y)
{
	RECT rc;
	GetWindowRect(m_hWnd, &rc);

	RECT rcWork;
	SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWork, FALSE);

	int nLeft = rc.left;
	int nTop = rc.top;
	if (nLeft > rcWork.left - WINDOW_FIT_MARGIN && nLeft < rcWork.left + WINDOW_FIT_MARGIN)
		nLeft = rcWork.left;
	else if (nLeft + RECT_WIDTH(&rc) > rcWork.left + RECT_WIDTH(&rcWork) - WINDOW_FIT_MARGIN &&
			nLeft + RECT_WIDTH(&rc) < rcWork.left + RECT_WIDTH(&rcWork) + WINDOW_FIT_MARGIN)
		nLeft = rcWork.left + RECT_WIDTH(&rcWork) - RECT_WIDTH(&rc);

	if (nTop > rcWork.top - WINDOW_FIT_MARGIN && nTop < rcWork.top + WINDOW_FIT_MARGIN)
		nTop = rcWork.top;
	else if (nTop + RECT_HEIGHT(&rc) > rcWork.top + RECT_HEIGHT(&rcWork) - WINDOW_FIT_MARGIN &&
			nTop + RECT_HEIGHT(&rc) < rcWork.top + RECT_HEIGHT(&rcWork) + WINDOW_FIT_MARGIN)
		nTop = rcWork.top + RECT_HEIGHT(&rcWork) - RECT_HEIGHT(&rc);

	if (nLeft != rc.left || nTop != rc.top)
		MoveWindow(m_hWnd, nLeft, nTop, RECT_WIDTH(&rc), RECT_HEIGHT(&rc), TRUE);
}
Example #12
0
void CRenderUtility::DrawImage( HDC hDC, Image* pImage, RECT &rctDst, RECT&rctSrc, int nAlpha /*= 255*/ )
{
	if(pImage == NULL || nAlpha == 0) return;

	float fAlpha = (float)nAlpha / 255.0f;
	Graphics	graph(hDC);
	ColorMatrix colorMatrix={1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
		0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
		0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
		0.0f, 0.0f, 0.0f, fAlpha, 0.0f,
		0.0f, 0.0f, 0.0f, 0.0f, 1.0f};

	ImageAttributes imgAtt;
	imgAtt.SetColorMatrix(&colorMatrix);

	Rect rcDst(rctDst.left, rctDst.top, RECT_WIDTH(rctDst), RECT_HEIGHT(rctDst));
	graph.DrawImage(pImage, rcDst, rctSrc.left, rctSrc.top, RECT_WIDTH(rctSrc), RECT_HEIGHT(rctSrc), UnitPixel, &imgAtt);
}
Example #13
0
PRIVATE GWorldPtr
gworld_from_pict (PicHandle ph)
{
  GWorldPtr retval;

  retval = NULL;
  if (ph)
    {
      CGrafPtr save_port;
      GDHandle save_device;
      Rect r;
      OSErr err;

      GetGWorld (&save_port, &save_device);
      save_port = MR (save_port);
      save_device = MR (save_device);
      r = HxX (ph, picFrame);
      err = NewGWorld (&retval, 32, &r, NULL, NULL, keepLocal);
      if (retval)
	{
	  PixMapHandle pm;

	  retval = MR (retval);
	  SetGWorld (retval, NULL);
	  pm = GetGWorldPixMap (retval);
	  LockPixels (pm);
	  DrawPicture (ph, &r);
#if 0
#warning THIS INTERFERES WITH PICT PASTING
	  {
	    char *p;

	    EraseRect (&r);
	    p = GetPixBaseAddr (pm);
	    memset (p, 0x00, 4 * RECT_HEIGHT(&r) * RECT_WIDTH (&r));
	    memset (p, 0xFF, 4 * RECT_HEIGHT(&r) * RECT_WIDTH (&r) / 2);
	  }
#endif
	  UnlockPixels (pm);
	}
      SetGWorld (save_port, save_device);
    }
  return retval;
}
Example #14
0
	// 应用程序的初始化
	virtual BOOL Init()
	{
		// 初始化 COM 组件
		CoInitializeEx(0, COINIT_MULTITHREADED);

		// 创建主窗口
		RECT rcWork = MzGetWorkArea();
		m_MainWnd.Create(rcWork.left,rcWork.top,RECT_WIDTH(rcWork),RECT_HEIGHT(rcWork), 0, 0, 0);
		m_MainWnd.Show();

		// 成功则返回TRUE
		return TRUE;
	}
Example #15
0
// 转屏后如果需要调整窗口的位置,重载此函数响应 WM_SETTINGCHANGE 消息
void CNewSmsWnd::OnSettingChange(DWORD wFlag, LPCTSTR pszSectionName)
{
  //设置新的屏幕方向的窗口大小及控件位置
  DEVMODE  devMode;
  memset(&devMode, 0, sizeof(DEVMODE));
  devMode.dmSize = sizeof(DEVMODE);
  devMode.dmFields = DM_DISPLAYORIENTATION;
  ChangeDisplaySettingsEx(NULL, &devMode, NULL, CDS_TEST, NULL);

 //竖屏
  if (devMode.dmDisplayOrientation == DMDO_90 || devMode.dmDisplayOrientation == DMDO_270)
  {
		g_bH = TRUE;
		RECT rc = MzGetWorkArea();
		//modify begin by zhaodsh  2010/03/21 12:27
		//SetWindowPos(m_hWnd, rc.left, rc.top,RECT_HEIGHT(rc)+rc.top, RECT_WIDTH(rc)  );
		SetWindowPos(m_hWnd, rc.left, rc.top,RECT_WIDTH(rc), RECT_HEIGHT(rc) );
		// modify end 2010/03/21 12:27
		
		m_Recievers.SetPos(2, 0, GetWidth()-BUTTON_WIDTH_V-2, BUTTON_HEIGHT_VH);

		m_SmsMsgEdit->SetPos(2, m_Recievers.GetHeight()+3, GetWidth()-4, (GetHeight()-m_Recievers.GetHeight()));

		m_SendSmsBtn.SetPos((GetWidth()-BUTTON_WIDTH_V),0,BUTTON_WIDTH_V-2,BUTTON_HEIGHT_VH);
  }

  //横屏
	if (devMode.dmDisplayOrientation == DMDO_180 || devMode.dmDisplayOrientation == DMDO_0)
	{
		g_bH = FALSE;
		RECT rc = MzGetWorkArea();
		SetWindowPos(m_hWnd, rc.left, rc.top,RECT_WIDTH(rc), RECT_HEIGHT(rc) );
		m_Recievers.SetPos(2, 0, GetWidth()-BUTTON_WIDTH_H-2, BUTTON_HEIGHT_VH);

		m_SmsMsgEdit->SetPos(2, m_Recievers.GetHeight()+3, GetWidth()-4, (GetHeight()-m_Recievers.GetHeight()));

		m_SendSmsBtn.SetPos((GetWidth()-BUTTON_WIDTH_H),0,BUTTON_WIDTH_H-2,BUTTON_HEIGHT_VH);
	}
}
Example #16
0
CCacheDC::CCacheDC(HDC hDC, RECT& rcPaint):
m_hOriginal(hDC),
m_rcPaint(rcPaint)
{
	CreateCompatibleDC(m_hOriginal);
	ATLASSERT(m_hDC != NULL);

	HBITMAP hBmp = CreateCompatibleBitmap(hDC,RECT_WIDTH(rcPaint),RECT_HEIGHT(rcPaint));
	m_hCanvasBmp.Attach(hBmp);
	ATLASSERT(m_hCanvasBmp.m_hBitmap != NULL);

	m_hOldBmp = SelectBitmap(m_hCanvasBmp);
}
Example #17
0
void QTCode_PositionMovieRectInClientWindow(Movie	theMovie,
											HWND	hwnd)
{
	Rect movieBounds;

	GetMovieBox(theMovie, &movieBounds);

	CenterMovieRectInWindow(hwnd,					/* window where we are placing the image */
							RECT_WIDTH(movieBounds), RECT_HEIGHT(movieBounds),	/* width, height, of the image */
							&movieBounds			/* on output, a Mac Rect centered in the window */
							);

	SetMovieBox(theMovie, &movieBounds);
}
Example #18
0
void CPpcMainWnd::OnSize(UINT nType, int cx, int cy)
{
	DeleteImages();
	InitImages();

	RECT rc;
	MoveWindow(m_hwndLV, PPC_PLAYLIST_LEFT, PPC_PLAYLIST_TOP, PPC_PLAYLIST_WIDTH, PPC_PLAYLIST_HEIGHT, TRUE);
	GetWindowRect(m_hwndLV, &rc);
	SendMessage(m_hwndLV, LVM_SETCOLUMNWIDTH, 0, 
		MAKELPARAM(RECT_WIDTH(&rc) - GetSystemMetrics(SM_CXVSCROLL) - GetSystemMetrics(SM_CXBORDER) * 2, 0));

	InvalidateRect(m_hWnd, NULL, TRUE);
	UpdateWindow(m_hWnd);
}
Example #19
0
void CLapPainter::DrawSelectLapsPrompt() const
{
  RECT rcClient;
  GetClientRect(OGL_GetHWnd(),&rcClient);

  glPushMatrix();
  glLoadIdentity();
  glScalef(1.0f, 0.90f, 1.0f);	//	Keep the same scaling - KDJ
  glOrtho(0, RECT_WIDTH(&rcClient),0, RECT_HEIGHT(&rcClient),-1.0,1.0);

  DrawText(20.0, 20, "No laps selected.  Select some laps in the lap list");

  glPopMatrix();
}
Example #20
0
static int
ui_window_get_placement(lua_State* L)
{
	HWND hwnd = NULL;
	RECT rect;
	Crj_ParseArgs(L, "| u", &hwnd);
	hwnd = GetTargetWindow(hwnd);

	GetWindowRect(hwnd, &rect);
	lua_pushinteger(L, RECT_X(rect));
	lua_pushinteger(L, RECT_Y(rect));
	lua_pushinteger(L, RECT_WIDTH(rect));
	lua_pushinteger(L, RECT_HEIGHT(rect));
	return 4;
}
Example #21
0
	// 窗口的初始化
	virtual BOOL OnInitDialog()
	{
		// 必须先调用基类的初始化
		if (!CMzWndEx::OnInitDialog())
		{
			return FALSE;
		}

		//开启acc功能
		MzAccOpen();  

		//获取XYZ轴加速度值 1 == 18mg, 56 == 1g 
		//注意以下几点, 
		//1 要先调用MzAccGetXYZ,再调用
		//MzAccGetX/MzAccGetY/MzAccGetZ后,才能获得正确的值
		//2 获得的加速度值范围是-55~+55, 绝对值起大,加速度越大. 
		//
		MzAccGetXYZ(&m_XAxis, &m_YAxis, &m_ZAxis);

		MzAccGetX(&m_XAxis);
		//获得Y轴加速度
		MzAccGetY(&m_YAxis);
		MzAccGetZ(&m_ZAxis);

		RECT rRect = MzGetWorkArea();

		m_XButton.SetPos(0, 0, 150, 100);
		AddUiWin(&m_XButton);

		m_nMaxXPos = RECT_WIDTH(rRect) - m_XButton.GetWidth();
		m_nMinXPos = 0;

		m_nMaxYPos = RECT_HEIGHT(rRect) - m_XButton.GetHeight();
		m_nMinYPos = 0;

		SetTimer(m_hWnd, 10, 10, NULL);  

		//设置初始的速度和位置
		m_XPos = m_nMinXPos;
		m_YPos = m_nMinYPos;

		m_YSpeed = 0;
		m_XSpeed = 0;

		m_nCount = 0;

		return TRUE;
	}
Example #22
0
void CEffectDlg::PresetOnInitDialog(HWND hwndDlg)
{
	TCHAR szPath[MAX_PATH];
	TCHAR sz[MAX_PATH];
	WIN32_FIND_DATA wfd;

	HWND hwndLV = GetDlgItem(hwndDlg, IDC_LIST_PRESET);

	RECT rc;
	GetClientRect(hwndLV, &rc);
	ListView_SetExtendedListViewStyle(hwndLV, 
		ListView_GetExtendedListViewStyle(hwndLV) | LVS_EX_FULLROWSELECT);
	LVCOLUMN lvc;
	lvc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	lvc.fmt = LVCFMT_LEFT;
	lvc.cx = RECT_WIDTH(&rc) - GetSystemMetrics(SM_CXVSCROLL) - 2;
	lvc.pszText = _T("Name");
	lvc.iSubItem = 0;
	ListView_InsertColumn(hwndLV, 0, &lvc);

	SendMessage(hwndLV, WM_SETFONT, SendMessage(hwndDlg, WM_GETFONT, 0, 0), 0);

	if (!GetPresetDir(szPath))
		return;
	
	if (_tcslen(szPath) + _tcslen(EFFECT_FILE_EXT) + 4 > MAX_PATH)
		return;

	wsprintf(sz, _T("%s\\*.%s"), szPath, EFFECT_FILE_EXT);
	HANDLE hFind = FindFirstFile(sz, &wfd);
	if (hFind != INVALID_HANDLE_VALUE) {
		do {
			LPTSTR p = _tcsrchr(wfd.cFileName, _T('.'));
			if (p) *p = NULL;
			
			LVITEM li;
			memset(&li, 0, sizeof(LVITEM));
			li.mask = LVIF_TEXT;
			li.iItem = ListView_GetItemCount(hwndLV);
			li.pszText = wfd.cFileName;
			ListView_InsertItem(hwndLV, &li);
		}
		while (FindNextFile(hFind, &wfd));
		FindClose(hFind);
	}

	EnableWindow(GetDlgItem(hwndDlg, IDC_DEL), FALSE);
}
Example #23
0
void ShellResizeEditCtrlWidth(HWND hwndEdit)
{
#ifdef _WIN32_WCE_PPC
    POINT pt;
    RECT rc;
    int nWidth;

    GetWindowRect(GetParent(hwndEdit), &rc);
    nWidth = RECT_WIDTH(&rc);
    GetWindowRect(hwndEdit, &rc);
    pt.x = rc.left;
    pt.y = rc.top;
    ScreenToClient(GetParent(hwndEdit), &pt);
    MoveWindow(hwndEdit, pt.x, pt.y, nWidth - pt.x * 2, RECT_HEIGHT(&rc), TRUE);
#endif
}
Example #24
0
void MzBarDecoder::GrayImage(RECT *prcRegion){
    int i,j;
    RECT rc;
    if(prcRegion == NULL){
        rc.left = 0; rc.right = m_dib.GetImageWidth();
        rc.top = 0; rc.bottom = m_dib.GetImageHeight();
        ImageWidth = m_dib.GetWidth();
        ImageHeight = m_dib.GetHeight();
    }else{
        rc.left = prcRegion->left; rc.right = prcRegion->right;
        rc.top = prcRegion->top; rc.bottom = prcRegion->bottom;
        ImageWidth = RECT_WIDTH(rc);
        ImageHeight = RECT_HEIGHT(rc);
    }

    BYTE    *colorTable;   
    colorTable = m_dib.GetBits(&rc);   

    int byteBitCount  = m_dib.GetBiBitCount()/8;

    m_tOriPixelArray  = new RGBQUAD*[ImageHeight];

    ImageArray = new BYTE*[ImageHeight];
    for(int l = 0 ; l < ImageHeight; l++) {
        m_tOriPixelArray[l] = new RGBQUAD[ImageWidth];
        ImageArray[l] = new BYTE[ImageWidth];
    }
    int count=0;
    for(i = ImageHeight-1; i >= 0; i--)
    {
        for(j = 0; j < ImageWidth; j++)
        {
            m_tOriPixelArray[i][j].rgbBlue = colorTable[count++];
            m_tOriPixelArray[i][j].rgbGreen = colorTable[count++]; 
            m_tOriPixelArray[i][j].rgbRed = colorTable[count++]; 
            m_tOriPixelArray[i][j].rgbReserved=0;
            //灰度化
            ImageArray[i][j] = (BYTE)((
                (unsigned int)m_tOriPixelArray[i][j].rgbBlue*11 + 
                (unsigned int)m_tOriPixelArray[i][j].rgbGreen*59 +
                (unsigned int)m_tOriPixelArray[i][j].rgbRed*30
                ) / 100);
            count += byteBitCount-3;
        }
		count += (4-(ImageWidth*byteBitCount)%4)%4;
    }
}
Example #25
0
bool RMMMobileObject::mobileOutOfScene() {
    int pixelTolerance = 3;
    double R;
    Rectangle<int> r = multiModel.binterface.bbox;
    int
        X = RECT_XCENTER(&r),
        Y = RECT_YCENTER(&r),
        W_2 = RECT_WIDTH(&r) / 2,
        H_2 = RECT_HEIGHT(&r) / 2;
    if(X + W_2 < pixelTolerance || X - W_2 > m_data->currentImage->width() - pixelTolerance || Y + H_2 < pixelTolerance || Y - H_2 > m_data->currentImage->height() - pixelTolerance )
        return true;

    //If some while present, but lost for a while, assume it is out.
    if(   numberOfFramesSinceFirstTimeSeen > m_blobsBufferSize
        && numberOfFramesNotSeen > numberOfFramesSinceFirstTimeSeen  )
        return true;
    return false;
}
Example #26
0
PRIVATE SDL_Surface *
surface_from_gworld (GWorldPtr gp)
{
  SDL_Surface *retval;

  if (!gp)
    retval = NULL;
  else
    {
      int pixels_per_line;
      int n_lines;
      PixMapHandle pm;
      enum { A = 0x00000000,
	     R = 0x0000FF00,
	     G = 0x00FF0000,
	     B = 0xFF000000 };
      mac_pixel32 *ip;
      sdl_pixel24 *op;
      Rect r;

      pm = GetGWorldPixMap (gp);
      LockPixels (pm);

      r = PIXMAP_BOUNDS (pm);
      n_lines = RECT_HEIGHT (&r);
      pixels_per_line = RECT_WIDTH (&r);
      retval = SDL_AllocSurface (SDL_SWSURFACE, pixels_per_line, n_lines, 32,
				 R, G, B, A);
      SDL_LockSurface (retval);
      op = SDL_Surface_pixels (retval);
      ip = (typeof (ip)) GetPixBaseAddr (pm);
      memcpy (op, ip, n_lines * pixels_per_line * sizeof *ip);
#if 0
#warning THIS IS BROKEN
      memset (op, 0x00, 4 * n_lines * pixels_per_line);
      memset (op, 0xFF, 4 * n_lines * pixels_per_line / 2);
#endif
      SDL_UnlockSurface (retval);
      UnlockPixels (pm);
    }

  return retval;
}
Example #27
0
  /* 应用程序的初始化*/
  virtual BOOL Init()
  {
	/* 初始化 COM 组件*/
    CoInitializeEx(0, COINIT_MULTITHREADED);

	/* 创建主窗口*/
    RECT rcWork = MzGetWorkArea();
    m_LoginWnd.Create(rcWork.left,rcWork.top,RECT_WIDTH(rcWork),RECT_HEIGHT(rcWork), 0, 0, 0);
    if(MzGetParam(MZGP_APP_START_ANIMATION)==TRUE){
	    m_LoginWnd.AnimateWindow(MZ_ANIMTYPE_ZOOM_IN,true);

	// m_LoginWnd.SetShellHomekeyReturnValue(SHK_RET_APPNOEXIT_SHELLTOP);
	    m_LoginWnd.Show();

	    //m_LoginWnd.SetBgColor(RGB(0,0,0));

    }

	/* 成功则返回TRUE*/
    return TRUE;
  }
Example #28
0
void CPpcMainWnd::CreateListView()
{
	DWORD dwStyle = WS_VISIBLE | WS_CHILD | LVS_REPORT | LVS_NOCOLUMNHEADER;
	m_hwndLV = CreateWindow(WC_LISTVIEW, NULL, dwStyle, 
		PPC_PLAYLIST_LEFT, PPC_PLAYLIST_TOP, PPC_PLAYLIST_WIDTH, PPC_PLAYLIST_HEIGHT, m_hWnd, 0, GetInst(), NULL);

	ListView_SetExtendedListViewStyle(m_hwndLV, 
			ListView_GetExtendedListViewStyle(m_hwndLV) | LVS_EX_FULLROWSELECT);

	LVCOLUMN lvc;
	lvc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	lvc.fmt = LVCFMT_LEFT;
	lvc.cx = 0;
	lvc.pszText = _T("Name");
	lvc.iSubItem = 0;
	ListView_InsertColumn(m_hwndLV, 0, &lvc);

	RECT rc;
	GetWindowRect(m_hwndLV, &rc);
	SendMessage(m_hwndLV, LVM_SETCOLUMNWIDTH, 0, 
		MAKELPARAM(RECT_WIDTH(&rc) - GetSystemMetrics(SM_CXVSCROLL) - GetSystemMetrics(SM_CXBORDER) * 2 - 1, 0));
}
Example #29
0
// 移动、设置控件位置
void ICtrlTabBarImpl::OnSize()
{
	RECT ClientRct = this->GetWindowRect();
	if (IS_RECT_EMPTY(ClientRct) || (int)m_ButtonVec.size() <= 0)
		return;

	int nW = RECT_WIDTH(ClientRct) / ((int)m_ButtonVec.size());
	int nH = RECT_HEIGHT(ClientRct);

	POINT BeginPt = {ClientRct.left, ClientRct.top};
	for (BUTTON_VEC::iterator pItem = m_ButtonVec.begin(); pItem != m_ButtonVec.end(); pItem++)
	{
		ICtrlButton* pButton = *pItem;
		if (pButton == NULL)
			continue;

		RECT BtnRct;
		SET_RECT_WH(BtnRct, BeginPt.x, BeginPt.y, nW, nH);
		pButton->SetControlLayoutType(CL_L_USER_DEF);
		pButton->SetWindowRect(BtnRct, true);
		BeginPt.x += nW;
	}
}
Example #30
0
void CLapPainter::OGL_Paint()
{
  if (m_pLapSupplier->GetDisplayOptions().fColorScheme)
  {
		glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );  //  Background color is black.
  }
  else
  {
		glClearColor( 0.95f, 0.95f, 0.95f, 0.95f );  //  Background color is grey.
  }
  glClear( GL_COLOR_BUFFER_BIT );
  
  RECT rcClient;
  GetClientRect(OGL_GetHWnd(), &rcClient);
  
  LAPDISPLAYSTYLE eDisplayStyle = m_pLapSupplier->GetLapDisplayStyle(m_iSupplierId);
  const LAPSUPPLIEROPTIONS& sfLapOpts = m_pLapSupplier->GetDisplayOptions();
  switch(eDisplayStyle)
  {
  case LAPDISPLAYSTYLE_MAP:
    glViewport(0,0,RECT_WIDTH(&rcClient), RECT_HEIGHT(&rcClient));
    DrawLapLines(sfLapOpts);	//	Draws the lap as a map on primary display
    break;
  case LAPDISPLAYSTYLE_PLOT:
    DrawGeneralGraph(sfLapOpts, true);	//	Draws the data graphs on the primary display
    break;
  case LAPDISPLAYSTYLE_RECEPTION:
    DrawReceptionMap(sfLapOpts);	//	Draws the reception map on the primary display
    break;
  case LAPDISPLAYSTYLE_NOLAPS:
    // user doesn't have any laps selected, so we should tell them to select some
    DrawSelectLapsPrompt();
    break;
  }
  
	SwapBuffers( OGL_GetDC() );
}