void BASE_SCREEN::Trace_Curseur(WinEDA_DrawPanel * panel, wxDC * DC) /*******************************************************************/ /* Trace Le curseur sur la zone PCB , se deplacant sur la grille */ { int color = WHITE; GRSetDrawMode(DC, GR_XOR); if( g_CursorShape == 1 ) /* Trace d'un reticule */ { int dx = panel->m_ClipBox.GetWidth() * GetZoom(); int dy = panel->m_ClipBox.GetHeight() * GetZoom(); GRLine(&panel->m_ClipBox, DC, m_Curseur.x - dx, m_Curseur.y, m_Curseur.x + dx, m_Curseur.y, color); // axe Y GRLine(&panel->m_ClipBox, DC, m_Curseur.x, m_Curseur.y - dx, m_Curseur.x, m_Curseur.y + dy, color); // axe X } else { int len = CURSOR_SIZE * GetZoom(); GRLine(&panel->m_ClipBox, DC, m_Curseur.x - len, m_Curseur.y, m_Curseur.x + len, m_Curseur.y, color); GRLine(&panel->m_ClipBox, DC, m_Curseur.x, m_Curseur.y - len, m_Curseur.x, m_Curseur.y + len, color); } }
void WinEDA_DrawPanel::SetBoundaryBox(void) /******************************************/ { BASE_SCREEN * Screen = GetScreen();; wxPoint org; int ii, jj; Screen->m_SizeVisu = GetClientSize(); GetViewStart(&org.x, &org.y); GetScrollPixelsPerUnit(&ii, &jj); org.x *= ii; org.y *= jj; Screen->m_StartVisu = org; m_ClipBox.SetOrigin(org); m_ClipBox.SetSize(GetClientSize()); #ifdef WX_ZOOM m_ClipBox.m_Pos.x *= GetZoom(); m_ClipBox.m_Pos.y *= GetZoom(); m_ClipBox.m_Size.x *= GetZoom(); m_ClipBox.m_Size.y *= GetZoom(); #else m_ClipBox.m_Pos.x -= GetScreen()->m_StartVisu.x; m_ClipBox.m_Pos.y -= GetScreen()->m_StartVisu.y; #endif m_ScrollButt_unit = MIN( Screen->m_SizeVisu.x, Screen->m_SizeVisu.y ) / 4; if ( m_ScrollButt_unit < 2 ) m_ScrollButt_unit = 2; Screen->m_ScrollbarPos.x = GetScrollPos(wxHORIZONTAL); Screen->m_ScrollbarPos.y = GetScrollPos(wxVERTICAL); }
bool WinEDA_DrawPanel::IsPointOnDisplay(wxPoint ref_pos) /********************************************************/ /* retourne TRUE si le point de coord physique ref_pos est visible sur l'ecran, c'est a dire: si ref_pos est sur la partie du schema ou pcb affichee a l'ecran */ { wxPoint pos; EDA_Rect display_rect; SetBoundaryBox(); display_rect = m_ClipBox; // Reduction legere des dimension de l'ecran utile pour eviter cadrage // en limite d'ecran #define PIXEL_MARGIN 8 display_rect.Inflate(-PIXEL_MARGIN,-PIXEL_MARGIN); // Conversion en coord physiques pos = CalcAbsolutePosition( display_rect.GetPosition() ); pos.x *= GetZoom(); pos.y *= GetZoom(); pos.x += GetScreen()->m_DrawOrg.x; pos.y += GetScreen()->m_DrawOrg.y; display_rect.SetX(pos.x); display_rect.SetY(pos.y); display_rect.SetWidth( display_rect.GetWidth() * GetZoom() ); display_rect.SetHeight( display_rect.GetHeight() * GetZoom() ); return display_rect.Inside(ref_pos); }
/** \brief Returns the whole size ("scrollable") of the music score, in pixels. It can be much bigger than the current visible portion of the score in the control. */ void GuidoCarbonControl::GetFullScoreSize( float * outWidth, float * outHeight ) const { GuidoPageFormat format = { 100, 100, 10, 10, 10, 10 }; GuidoGetPageFormat( GetGuidoGR(), GetPageNum(), &format ); *outWidth = format.width * GetZoom() * 0.1f; *outHeight = format.height * GetZoom() * 0.1f; }
wxPoint WinEDA_DrawPanel::CursorScreenPosition(void) /********************************************************/ /* retourne la position sur l'ecran,en pixels, du curseur Orgine = coord absolue 0,0; */ { wxPoint curpos = GetScreen()->m_Curseur; curpos.x -= GetScreen()->m_DrawOrg.x; curpos.y -= GetScreen()->m_DrawOrg.y; curpos.x /= GetZoom(); curpos.y /= GetZoom(); return curpos; }
wxPoint WinEDA_DrawPanel::CursorRealPosition(const wxPoint & ScreenPos) /**********************************************************************/ /* Retourne la position en unites utilisateur du pointeur souris ScreenPos = position pointeur en coord absolue ecran */ { wxPoint curpos; curpos.x = ScreenPos.x * GetZoom(); curpos.y = ScreenPos.y * GetZoom(); curpos.x += GetScreen()->m_DrawOrg.x; curpos.y += GetScreen()->m_DrawOrg.y; return curpos; }
void fbtTextFile::zoomEvent(wxStyledTextEvent& evt) { evt.Skip(); // dsiable zoom if (GetZoom() != 0) SetZoom(0); }
void CDiagramButton::Draw( CDC* dc, CRect rect ) /* ============================================================ Function : CDiagramButton::Draw Description : Draws the "control" Return : void Parameters : CDC* dc - CDC to draw to CRect rect - Total object rect (zoomed) Usage : ============================================================*/ { CStdGrfx::drawframed3dBox( dc, rect ); LOGFONT lf; CFont font; GetFont( lf ); // MS Sans Serif will not scale below 8 pts. if( GetZoom() < 1 ) lstrcpy( lf.lfFaceName, _T( "Arial" ) ); font.CreateFontIndirect( &lf ); dc->SelectObject( &font ); dc->SetBkMode( TRANSPARENT ); dc->DrawText( GetTitle(), rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE ); dc->SelectStockObject( ANSI_VAR_FONT ); }
void CDiagramCombobox::Draw( CDC* dc, CRect rect ) /* ============================================================ Function : CDiagramCombobox::Draw Description : Draws the "control" Return : void Parameters : CDC* dc - CDC to draw to CRect rect - Total object rect (zoomed) Usage : ============================================================*/ { CStdGrfx::drawsunkenframed3dWindow( dc, rect ); LOGFONT lf; GetFont( lf ); dc->SetBkMode( TRANSPARENT ); dc->SetTextColor( ::GetSysColor( COLOR_BTNTEXT ) ); CRect rectArrow( rect ); rectArrow.left = rectArrow.right - ( int ) ( ( double ) GetMinimumSize().cy * GetZoom() ); rectArrow.InflateRect( -2, -2 ); CStdGrfx::drawframed3dBox( dc, rectArrow ); CFont chk; chk.CreateFont( lf.lfHeight, 0, 0, 0, FW_NORMAL, 0, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DECORATIVE, "Marlett" ); dc->SelectObject( &chk ); dc->DrawText( "u", rectArrow, DT_VCENTER | DT_SINGLELINE | DT_CENTER ); dc->SelectStockObject( DEFAULT_GUI_FONT ); }
void RichTextView::Paint(Draw& w) { Size sz = GetSize(); w.DrawRect(sz, background); sz.cx -= margin.left + margin.right; sz.cy -= margin.top + margin.bottom; w.Clipoff(margin.left, margin.top, sz.cx, sz.cy); PaintInfo pi; if(!hldec) pi.hyperlink = Null; if(sell < selh) { pi.sell = sell; pi.selh = selh; } pi.indexentry = Null; pi.highlightpara = highlight; pi.zoom = GetZoom(); int q = sb * pi.zoom; scroller.Set(q); w.Offset(0, -q); SimplePageDraw pw(w); pi.top = PageY(0, sb); pi.bottom = PageY(0, sb + sz.cy / pi.zoom); pi.usecache = true; pi.sizetracking = sizetracking; pi.shrink_oversized_objects = shrink_oversized_objects; Color c = SColorPaper(); if(Grayscale(c) < 100) pi.coloroverride = true; text.Paint(pw, GetPage(), pi); w.End(); w.End(); }
void CGumpBorder::Draw( CDC* dc, CRect rect ) { if (!m_pGumpB[LT]) { CGumpEntity::Draw(dc,rect); return; } double zoom = GetZoom(); int img_x[4],img_y[4]; img_x[0] = rect.left; img_x[1] = max(rect.left, rect.left + m_sizeGumpB[LT].cx * zoom); img_x[2] = min(rect.right, rect.right - m_sizeGumpB[RT].cx * zoom); img_x[3] = rect.right; img_y[0] = rect.top; img_y[1] = max(rect.top, rect.top + m_sizeGumpB[LT].cy * zoom); img_y[2] = min(rect.bottom, rect.bottom - m_sizeGumpB[LB].cy * zoom); img_y[3] = rect.bottom; if (m_pGumpB[LT]) m_pGumpB[LT]->DrawGump(dc, CPoint(img_x[0],img_y[0]), zoom); if (m_pGumpB[RT]) m_pGumpB[RT]->DrawGump(dc, CPoint(img_x[2],img_y[0]), zoom); if (m_pGumpB[LB]) m_pGumpB[LB]->DrawGump(dc, CPoint(img_x[0],img_y[2]), zoom); if (m_pGumpB[RB]) m_pGumpB[RB]->DrawGump(dc, CPoint(img_x[2],img_y[2]), zoom); if (m_pGumpB[TOP]) m_pGumpB[TOP]->DrawGump(dc, CRect(img_x[1],img_y[0],img_x[2],img_y[1]), zoom); if (m_pGumpB[LC]) m_pGumpB[LC]->DrawGump(dc, CRect(img_x[0],img_y[1],img_x[1],img_y[2]), zoom); if (m_pGumpB[RC]) m_pGumpB[RC]->DrawGump(dc, CRect(img_x[2],img_y[1],img_x[3],img_y[2]), zoom); if (m_pGumpB[BOTTOM]) m_pGumpB[BOTTOM]->DrawGump(dc, CRect(img_x[1],img_y[2],img_x[2],img_y[3]), zoom); if (m_pGumpB[CENTER]) m_pGumpB[CENTER]->DrawGump(dc, CRect(img_x[1],img_y[1],img_x[2],img_y[2]), zoom); }
void CDiagramRadiobutton::Draw( CDC* dc, CRect rect ) /* ============================================================ Function : CDiagramRadiobutton::Draw Description : Draws the "control" Return : void Parameters : CDC* dc - CDC to draw to CRect rect - Total object rect (zoomed) Usage : ============================================================*/ { dc->SelectObject( CStdGrfx::dialogBrush() ); dc->SelectObject( CStdGrfx::dialogPen() ); dc->Rectangle( rect ); LOGFONT lf; CFont chk; CFont font; GetFont( lf ); // MS Sans Serif will not scale below 8 pts if( GetZoom() < 1 ) lstrcpy( lf.lfFaceName, _T( "Arial" ) ); font.CreateFontIndirect( &lf ); // Marlett is used for the circle chk.CreateFont( ( int ) ( ( double ) lf.lfHeight * 1.25 ), 0, 0, 0, FW_NORMAL, 0, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DECORATIVE, "Marlett" ); dc->SetBkMode( TRANSPARENT ); dc->SelectObject( &chk ); dc->SetTextColor( ::GetSysColor( COLOR_WINDOW ) ); dc->TextOut( rect.left, rect.top, "n" ); dc->SetTextColor( ::GetSysColor( COLOR_3DSHADOW ) ); dc->TextOut( rect.left, rect.top, "j" ); dc->SetTextColor( ::GetSysColor( COLOR_3DHIGHLIGHT ) ); dc->TextOut( rect.left, rect.top, "k" ); dc->SetTextColor( ::GetSysColor( COLOR_3DDKSHADOW ) ); dc->TextOut( rect.left, rect.top, "l" ); dc->SetTextColor( ::GetSysColor( COLOR_3DLIGHT ) ); dc->TextOut( rect.left, rect.top, "m" ); dc->SelectObject( &font ); dc->SetTextColor( ::GetSysColor( COLOR_BTNTEXT ) ); rect.left += ( int ) ( ( double ) abs( lf.lfHeight ) * 1.5 ); dc->DrawText( GetTitle(), rect, DT_SINGLELINE ); dc->SelectStockObject( DEFAULT_GUI_FONT ); dc->SelectStockObject( BLACK_PEN ); dc->SelectStockObject( WHITE_BRUSH ); }
void CGumpPicture::Draw( CDC* dc, CRect rect ) { CGumpEditorDoc* pDoc = GfxGetGumpDocument(); ASSERT(pDoc); if (m_eType == RECTANGLE) { CBrush brush(pDoc->GetHueColor(GetHueId())); dc->FillRect(rect, &brush); } else if (m_eType == FRAME) { CBrush brush(pDoc->GetHueColor(GetHueId())); dc->FrameRect(rect, &brush); } else if (m_eType == GUMP && m_pGump) { m_pGump->DrawGump(dc, rect, GetZoom()); } else { CGumpEntity::Draw(dc,rect); } //dc->SelectStockObject( ANSI_VAR_FONT ); }
//----------------------------------------------------------------------------- // Purpose: // Input : FOVOffset - // time - //----------------------------------------------------------------------------- void C_BaseHLPlayer::Zoom( float FOVOffset, float time ) { m_flZoomStart = GetZoom(); m_flZoomEnd = FOVOffset; m_flZoomRate = time; m_flZoomStartTime = gpGlobals->curtime; }
void RichTextView::SetSb() { Rect page(0, 0, GetPageCx(true), INT_MAX); PageY py = text.GetHeight(page); sb.SetTotal(py.y); sb.SetPage((GetSize().cy - margin.top - margin.bottom) / GetZoom()); }
RichHotPos RichEdit::GetHotPos(Point p) { int x; PageY py; GetPagePoint(p, py, x); return text.GetHotPos(x, py, 4 / GetZoom(), pagesz); }
void Display::ShowUpperHalf() { // Enforce upper half of screen to be visible if (GetZoom()==cDisplay::Zoom_Lower) SetZoom(cDisplay::Zoom_Upper); if (mode==HalfLower) SetMode(HalfUpper); }
wxPoint WinEDA_DrawPanel::GetScreenCenterRealPosition(void) /*********************************************************/ { wxSize size; wxPoint realpos; size = GetClientSize(); size.x /= 2; size.y /= 2; realpos = CalcAbsolutePosition( wxPoint(size.x, size.y) ); realpos.x *= GetZoom(); realpos.y *= GetZoom(); realpos.x += GetScreen()->m_DrawOrg.x; realpos.y += GetScreen()->m_DrawOrg.y; return realpos; }
void CGumpPicture::Draw( CDC* dc, CRect rect ) { if (!m_pGump) { CGumpEntity::Draw(dc,rect); return; } m_pGump->DrawGump(dc, rect, GetZoom()); }
void WinEDA_DrawPanel::OnPaint(wxPaintEvent & event) /***************************************************/ { wxPaintDC paintDC(this); EDA_Rect tmp; wxRect PaintClipBox; wxPoint org; PrepareGraphicContext(&paintDC); tmp = m_ClipBox; org = m_ClipBox.GetOrigin(); wxRegionIterator upd(GetUpdateRegion()); // get the update rect list while ( upd ) { PaintClipBox = upd.GetRect(); upd++; PaintClipBox.x += org.x; PaintClipBox.y += org.y; #ifdef WX_ZOOM m_ClipBox.m_Pos.x = PaintClipBox.x * GetZoom(); m_ClipBox.m_Pos.y = PaintClipBox.y * GetZoom(); m_ClipBox.m_Size.x = PaintClipBox.m_Size.x * GetZoom(); m_ClipBox.m_Size.y = PaintClipBox.m_Size.y * GetZoom(); PaintClipBox = m_ClipBox; #else m_ClipBox.SetX(PaintClipBox.GetX()); m_ClipBox.SetY(PaintClipBox.GetY()); m_ClipBox.SetWidth(PaintClipBox.GetWidth()); m_ClipBox.SetHeight(PaintClipBox.GetHeight()); #endif wxDCClipper * dcclip = new wxDCClipper(paintDC, PaintClipBox); ReDraw(&paintDC, TRUE); delete dcclip; } m_ClipBox = tmp; }
bool GWindow::SerializeState(GDom *Store, const char *FieldName, bool Load) { if (!Store || !FieldName) return false; if (Load) { ::GVariant v; if (Store->GetValue(FieldName, v) && v.Str()) { GRect Position(0, 0, -1, -1); GWindowZoom State = GZoomNormal; // printf("SerializeState load %s\n", v.Str()); GToken t(v.Str(), ";"); for (int i=0; i<t.Length(); i++) { char *Var = t[i]; char *Value = strchr(Var, '='); if (Value) { *Value++ = 0; if (stricmp(Var, "State") == 0) State = (GWindowZoom) atoi(Value); else if (stricmp(Var, "Pos") == 0) Position.SetStr(Value); } else return false; } if (Position.Valid()) { // printf("SerializeState setpos %s\n", Position.GetStr()); SetPos(Position); } SetZoom(State); } else return false; } else { char s[256]; GWindowZoom State = GetZoom(); sprintf(s, "State=%i;Pos=%s", State, GetPos().GetStr()); ::GVariant v = s; if (!Store->SetValue(FieldName, v)) return false; } return true; }
void CGumpRadio::Draw( CDC* dc, CRect rect ) { STATE state = IsChecked() ? CHECKED : NORMAL; if (!m_pGump[state]) { CGumpEntity::DrawRadiobutton(dc,rect); return; } m_pGump[state]->DrawGump(dc, rect.TopLeft(), GetZoom()); }
int RichTextView::GetPointPos(Point p) const { Size sz = GetSize(); sz.cx -= margin.left + margin.right; sz.cy -= margin.top + margin.bottom; p -= margin.TopLeft(); Zoom zoom = GetZoom(); p.y += sb * zoom; return text.GetPos(p.x / zoom, PageY(0, p.y / zoom), GetPage()); }
void CGumpButton::Draw( CDC* dc, CRect rect ) { if (!m_pGump[NORMAL]) { CGumpEntity::Draw(dc,rect); return; } //m_pGump[NORMAL]->DrawTransparent(dc, rect.TopLeft(), RGB(255,255,255)); m_pGump[NORMAL]->DrawGump(dc, rect.TopLeft(), GetZoom()); }
void RichTextView::RefreshRange(int a, int b) { int l = min(a, b); int h = max(a, b); if(l == h) return; Rect r1 = text.GetCaret(l, GetPage()); Rect r2 = text.GetCaret(h, GetPage()); Zoom zoom = GetZoom(); Refresh(0, zoom * (r1.top - sb), GetSize().cx, zoom * (r2.bottom - sb + zoom.d - 1)); }
float C_BaseHLPlayer::GetFOV() { //Find our FOV with offset zoom value float flFOVOffset = BaseClass::GetFOV() + GetZoom(); // Clamp FOV in MP int min_fov = ( gpGlobals->maxClients == 1 ) ? 5 : default_fov.GetInt(); // Don't let it go too low flFOVOffset = MAX( min_fov, flFOVOffset ); return flFOVOffset; }
void WinDecorator::_DrawZoom(BRect r) { DrawBeveledRect(r,GetZoom()); // Draw the Zoom box BRect rect(r); rect.InsetBy(2,2); rect.InsetBy(1,0); rect.bottom--; rect.right--; if (GetZoom()) rect.OffsetBy(1,1); fDrawingEngine->SetHighColor(RGBColor(0,0,0)); fDrawingEngine->StrokeRect(rect); rect.InsetBy(1,1); fDrawingEngine->StrokeLine(rect.LeftTop(),rect.RightTop()); }
float C_HL2MP_Player::GetFOV( void ) { //Find our FOV with offset zoom value float flFOVOffset = C_BasePlayer::GetFOV() + GetZoom(); // Clamp FOV in MP int min_fov = GetMinFOV(); // Don't let it go too low flFOVOffset = max( min_fov, flFOVOffset ); return flFOVOffset; }
void CNCaptureView::OnCaptureImageChanged() { FTLTRACE(TEXT("CNCaptureView::OnCaptureImageChanged\n")); CNCaptureDoc* pDoc = CNCaptureApplication::Instance()->GetDocument(); if (pDoc) { CCapImageObj* pCaptureImage = pDoc->GetCurCaptureImage(); //save zoom to imageobject if (m_pImage != NULL) { m_pImage->SetZoom(GetZoom()); } m_pImage = pCaptureImage; m_bImageChanged = TRUE; } //m_iFixedZoomIndex = s_NormalZoomIndex; //ReleaseSelectRect(); _CalcImageSize(); //make scrollbar disappear and set statusbar text unvisible if (NULL == m_pImage) { CRect rcClient; GetClientRect(&rcClient); SetScrollSize(0, 0, FALSE, FALSE); STATUSBARINFO stStatusBarInfo; stStatusBarInfo.bEnable = FALSE; SetCurrentToolType(ttNone); CMainFrame* pMainFrame = CNCaptureApplication::Instance()->GetMainFrame(); if (pMainFrame) { pMainFrame->SetStatusInfo(&stStatusBarInfo); } } else { //first capture if (1 == pDoc->GetCaptureCount() ) { SetCurrentToolType(CalcCurrentToolType()); } SetZoom(m_pImage->GetZoom(), TRUE, TRUE); m_pImage->GetCurrentObjectInfo(m_allObjects, m_selection, TRUE); } Invalidate(); }
void ClipBitmapStyleEditor::OnLButtonDown(wxMouseEvent& event) { wxPoint posOrigin = (event.GetPosition() + GetOriginOffset()) / GetZoom(); for (int i = 0; i < IStyle::SS_NUM; ++i) { if (m_rectState[i].Contains(posOrigin)) { // set selection SetSelState((IStyle::STYLE_STATE)i); return; } } SetSelState(IStyle::SS_NUM); }