|
KiCad PCB EDA Suite
|
GAL-backed canvas for visualizing a KICAD_DIFF::DIFF_SCENE. More...
#include <widget_diff_canvas.h>
Classes | |
| struct | HIGHLIGHT_BOX_ITEM |
Public Types | |
| using | DIMMER = std::function<void( KIGFX::VIEW_ITEM*, bool aDim )> |
| Kiface-supplied callback that dims/undims a context item. | |
| using | PICK_HANDLER = std::function<void( const std::optional<KIID_PATH>& )> |
| Register a callback to fire when the user left-clicks the canvas. | |
| using | ITEM_HANDLER = std::function<void( KIGFX::VIEW_ITEM* )> |
| enum | GAL_TYPE { GAL_TYPE_UNKNOWN = -1 , GAL_TYPE_NONE = 0 , GAL_TYPE_OPENGL , GAL_TYPE_CAIRO , GAL_TYPE_LAST } |
Public Member Functions | |
| WIDGET_DIFF_CANVAS (wxWindow *aParent, wxWindowID aId=wxID_ANY) | |
| ~WIDGET_DIFF_CANVAS () override | |
| void | SetScene (KICAD_DIFF::DIFF_SCENE aScene) |
| Replace the displayed scene. Pass an empty scene to clear the canvas. | |
| void | SetWorldUnitLength (double aWorldUnitLength) |
| void | SetContextPainter (std::unique_ptr< KIGFX::PAINTER > aPainter) |
| Install the native painter used for drawing source document context. | |
| void | SetContextItems (const std::vector< KIGFX::VIEW_ITEM * > &aItems) |
| Replace source document context items. | |
| void | SetItemCategories (std::map< KIGFX::VIEW_ITEM *, KICAD_DIFF::CATEGORY > aMap) |
| Tag context items by change category so SetCategoryVisible can hide / show them in lockstep with the diff-category checkboxes. | |
| void | SetItemDimmer (DIMMER aDimmer) |
| void | HighlightChange (std::optional< KIID_PATH > aChangeId) |
| Outline shape(s) whose SCENE_SHAPE::changeId matches the given path. | |
| void | SetCategoryVisible (KICAD_DIFF::CATEGORY aCategory, bool aVisible) |
| Toggle whether shapes of a given change category render. | |
| bool | IsCategoryVisible (KICAD_DIFF::CATEGORY aCategory) const |
| void | SetHiddenChanges (std::set< KIID_PATH > aHidden) |
| Replace the set of muted changes. | |
| bool | IsChangeHidden (const KIID_PATH &aChangeId) const |
| void | SetLayerVisible (PCB_LAYER_ID aLayer, bool aVisible) |
| Toggle whether board-context geometry on a given PCB layer renders. | |
| bool | IsLayerVisible (PCB_LAYER_ID aLayer) const |
| void | BeginUpdate () |
| Hold overlay rebuilds/zoom until EndUpdate, so a batch of changes (e.g. | |
| void | EndUpdate () |
| void | ZoomToFit () |
| Center the view on the scene's document bbox. | |
| void | ZoomToBBox (const BOX2I &aBBox) |
| Zoom and center on a specific document-space bbox with a small margin. | |
| void | CenterOnHighlight () |
| Pan so the currently highlighted change is at the center of the canvas. | |
| void | SetPickHandler (PICK_HANDLER aHandler) |
| void | SetDoubleClickHandler (ITEM_HANDLER aHandler) |
| void | SetFocus () override |
| bool | StatusPopupHasFocus () |
| void | SetStatusPopup (wxWindow *aPopup) |
| virtual bool | SwitchBackend (GAL_TYPE aGalType) |
| Switch method of rendering graphics. | |
| GAL_TYPE | GetBackend () const |
| Return the type of backend currently used by GAL canvas. | |
| KIGFX::GAL * | GetGAL () const |
| Return a pointer to the GAL instance used in the panel. | |
| virtual KIGFX::VIEW * | GetView () const |
| Return a pointer to the #VIEW instance used in the panel. | |
| KIGFX::VIEW_CONTROLS * | GetViewControls () const |
| Return a pointer to the #VIEW_CONTROLS instance used in the panel. | |
| bool | GetScreenshot (wxImage &aDstImage) |
| Capture the current canvas contents into aDstImage. | |
| virtual void | Refresh (bool aEraseBackground=true, const wxRect *aRect=nullptr) override |
| void | ForceRefresh () |
| Force a redraw. | |
| void | RequestRefresh () |
| Make sure a refresh gets done on the next idle event if it hasn't already. | |
| void | SetEventDispatcher (TOOL_DISPATCHER *aEventDispatcher) |
| Set a dispatcher that processes events and forwards them to tools. | |
| void | StartDrawing () |
| Begin drawing if it was stopped previously. | |
| void | StopDrawing () |
| Prevent the GAL canvas from further drawing until it is recreated or StartDrawing() is called. | |
| virtual void | SetHighContrastLayer (int aLayer) |
| Take care of display settings for the given layer to be displayed in high contrast mode. | |
| virtual void | SetTopLayer (int aLayer) |
| Move the selected layer to the top, so it is displayed above all others. | |
| virtual void | GetMsgPanelInfo (EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) |
| EDA_DRAW_FRAME * | GetParentEDAFrame () const |
| Returns parent EDA_DRAW_FRAME, if available or NULL otherwise. | |
| bool | IsDialogPreview () const |
| virtual void | OnShow () |
| Called when the window is shown for the first time. | |
| void | SetStealsFocus (bool aStealsFocus) |
| Set whether focus is taken on certain events (mouseover, keys, etc). | |
| void | SetCurrentCursor (KICURSOR aCursor) |
| Set the current cursor shape for this panel. | |
| virtual BOX2I | GetDefaultViewBBox () const |
| Return the bounding box of the view that should be used if model is not valid. | |
| void | OnEvent (wxEvent &aEvent) |
| Used to forward events to the canvas from popups, etc. | |
| bool | DoRePaint (bool aAllowSkip=true) |
| Repaint the canvas, and fix scrollbar cursors. | |
| std::shared_ptr< KIGFX::VIEW_OVERLAY > | DebugOverlay () |
| Create an overlay for rendering debug graphics. | |
| void | ClearDebugOverlay () |
| Clear the contents of the debug overlay and removes it from the VIEW. | |
Static Public Member Functions | |
| static KIGFX::VC_SETTINGS | GetVcSettings () |
| Gets a populated View Controls settings object dervived from our program settings. | |
Public Attributes | |
| bool | m_MouseCapturedLost |
| used on wxMSW: true after a wxEVT_MOUSE_CAPTURE_LOST was received false after the mouse is recaptured. | |
| std::unique_ptr< PROF_COUNTER > | m_PaintEventCounter |
Static Public Attributes | |
| static constexpr GAL_TYPE | GAL_FALLBACK = GAL_TYPE_CAIRO |
| static constexpr bool | GAL_FALLBACK_AVAILABLE = GAL_FALLBACK != GAL_TYPE_OPENGL |
Protected Member Functions | |
| virtual void | onPaint (wxPaintEvent &WXUNUSED(aEvent)) |
| void | onEnter (wxMouseEvent &aEvent) |
| void | onLostFocus (wxFocusEvent &aEvent) |
| void | onIdle (wxIdleEvent &aEvent) |
| void | onRefreshTimer (wxTimerEvent &aEvent) |
| void | onShowEvent (wxShowEvent &aEvent) |
| bool | recoverFromGalError (const std::exception &aErr) |
Protected Attributes | |
| wxWindow * | m_parent |
| Pointer to the parent window. | |
| EDA_DRAW_FRAME * | m_edaFrame |
| Parent EDA_DRAW_FRAME (if available) | |
| wxLongLong | m_lastRepaintStart |
| Timestamp of the last repaint start. | |
| wxLongLong | m_lastRepaintEnd |
| Timestamp of the last repaint end. | |
| wxTimer | m_refreshTimer |
| Timer to prevent too-frequent refreshing. | |
| std::mutex | m_refreshMutex |
| Blocks multiple calls to the draw. | |
| bool | m_drawing |
| True if GAL is currently redrawing the view. | |
| bool | m_drawingEnabled |
| Flag that determines if VIEW may use GAL for redrawing the screen. | |
| bool | m_needIdleRefresh |
| True when canvas needs to be refreshed from idle handler. | |
| VECTOR2D | m_lastCursorPosition |
| Last cursor position sent to GAL for drawing. | |
| KIGFX::GAL * | m_gal |
| Interface for drawing objects on a 2D-surface. | |
| KIGFX::VIEW * | m_view |
| Stores view settings (scale, center, etc.) and items to be drawn. | |
| std::unique_ptr< KIGFX::PAINTER > | m_painter |
| Contains information about how to draw items using GAL. | |
| KIGFX::WX_VIEW_CONTROLS * | m_viewControls |
| Control for VIEW (moving, zooming, etc.) | |
| GAL_TYPE | m_backend |
| Currently used GAL. | |
| KIGFX::GAL_DISPLAY_OPTIONS & | m_options |
| TOOL_DISPATCHER * | m_eventDispatcher |
| Processes and forwards events to tools. | |
| bool | m_lostFocus |
| Flag to indicate that focus should be regained on the next mouse event. | |
| bool | m_glRecoveryAttempted |
| Set after an OpenGL recovery attempt to prevent infinite retry loops. | |
| bool | m_stealsFocus |
| Flag to indicate whether the panel should take focus at certain times (when moused over, and on various mouse/key events) | |
| wxWindow * | m_statusPopup |
| std::shared_ptr< KIGFX::VIEW_OVERLAY > | m_debugOverlay |
| Optional overlay for drawing transient debug objects. | |
Private Member Functions | |
| WIDGET_DIFF_CANVAS (wxWindow *aParent, wxWindowID aId, std::unique_ptr< KIGFX::GAL_DISPLAY_OPTIONS > aGalOptions) | |
| Delegating ctor target — keeps the GAL options unique_ptr alive across the base-class initialization that needs to deref it. | |
| void | rebuildOverlay (bool aOverlayOnly=false) |
| Rebuild the overlay from the render scene + current highlight state. | |
| void | buildRenderScene () |
| Recompute the cached render scene (layer-filtered geometry, cleared in native-context mode). | |
| void | refreshItemDimming () |
| Dim context items that are hidden, or unfocused while a highlight is active. | |
| const KICAD_DIFF::SCENE_SHAPE * | shapeAt (const wxPoint &aScreenPoint) const |
| Hit test in screen coordinates → topmost SCENE_SHAPE under the cursor. | |
| std::optional< BOX2I > | highlightedBBox () const |
| Union bbox of all shapes whose changeId matches the current highlight, honoring per-category visibility. | |
| void | onLeftDown (wxMouseEvent &aEvent) |
| void | onDoubleClick (wxMouseEvent &aEvent) |
| void | onMotion (wxMouseEvent &aEvent) |
| void | onLeave (wxMouseEvent &aEvent) |
| void | onChar (wxKeyEvent &aEvent) |
| void | onSize (wxSizeEvent &aEvent) |
GAL-backed canvas for visualizing a KICAD_DIFF::DIFF_SCENE.
This is the hardware-accelerated counterpart to DIFF_THUMBNAIL.
The canvas owns a KIGFX::VIEW, a VIEW_OVERLAY, and an optional non-owning VIEW_GROUP for source document items. Module callers can install a native painter/context group so unchanged document context is drawn as real items, while the overlay still holds selectable diff change shapes.
Pan and zoom come from WX_VIEW_CONTROLS (mouse middle-drag, wheel) for free. Pick handling and home/F-zoom are wired explicitly so the public API matches DIFF_THUMBNAIL's contract; dialogs can swap one for the other without further changes.
Definition at line 68 of file widget_diff_canvas.h.
| using WIDGET_DIFF_CANVAS::DIMMER = std::function<void( KIGFX::VIEW_ITEM*, bool aDim )> |
Kiface-supplied callback that dims/undims a context item.
Definition at line 101 of file widget_diff_canvas.h.
| using WIDGET_DIFF_CANVAS::ITEM_HANDLER = std::function<void( KIGFX::VIEW_ITEM* )> |
Definition at line 153 of file widget_diff_canvas.h.
| using WIDGET_DIFF_CANVAS::PICK_HANDLER = std::function<void( const std::optional<KIID_PATH>& )> |
Register a callback to fire when the user left-clicks the canvas.
The optional holds the picked change id when a shape was hit, or std::nullopt when the click landed on empty space (deselect).
Definition at line 149 of file widget_diff_canvas.h.
|
inherited |
| Enumerator | |
|---|---|
| GAL_TYPE_UNKNOWN | not specified: a GAL engine must be set by the client |
| GAL_TYPE_NONE | GAL not used (the legacy wxDC engine is used) |
| GAL_TYPE_OPENGL | OpenGL implementation. |
| GAL_TYPE_CAIRO | Cairo implementation. |
| GAL_TYPE_LAST | Sentinel, do not use as a parameter. |
Definition at line 60 of file class_draw_panel_gal.h.
| WIDGET_DIFF_CANVAS::WIDGET_DIFF_CANVAS | ( | wxWindow * | aParent, |
| wxWindowID | aId = wxID_ANY ) |
Definition at line 50 of file widget_diff_canvas.cpp.
References WIDGET_DIFF_CANVAS().
Referenced by WIDGET_DIFF_CANVAS().
|
override |
Definition at line 114 of file widget_diff_canvas.cpp.
References m_contextGroup, m_contextGroupItems, EDA_DRAW_PANEL_GAL::m_view, and EDA_DRAW_PANEL_GAL::StopDrawing().
|
private |
Delegating ctor target — keeps the GAL options unique_ptr alive across the base-class initialization that needs to deref it.
Definition at line 56 of file widget_diff_canvas.cpp.
References EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL(), EDA_DRAW_PANEL_GAL::GAL_FALLBACK, LAYER_GP_OVERLAY, m_contextGroup, EDA_DRAW_PANEL_GAL::m_gal, m_galOptions, m_highlightBox, m_hoverBox, m_layerVisible, m_overlay, EDA_DRAW_PANEL_GAL::m_painter, EDA_DRAW_PANEL_GAL::m_view, EDA_DRAW_PANEL_GAL::m_viewControls, move, onChar(), onDoubleClick(), onLeave(), onLeftDown(), onMotion(), onSize(), EDA_DRAW_PANEL_GAL::StartDrawing(), KIGFX::TARGET_OVERLAY, ZOOM_MAX_LIMIT_DIFF, and ZOOM_MIN_LIMIT_DIFF.
| void WIDGET_DIFF_CANVAS::BeginUpdate | ( | ) |
Hold overlay rebuilds/zoom until EndUpdate, so a batch of changes (e.g.
a reload that re-sets context and scene) renders once instead of flashing an intermediate state.
Definition at line 364 of file widget_diff_canvas.cpp.
References m_holdRebuild.
|
private |
Recompute the cached render scene (layer-filtered geometry, cleared in native-context mode).
Only depends on the scene, layer visibility, and context mode, so it runs when those change, not on every interaction.
Definition at line 463 of file widget_diff_canvas.cpp.
References KICAD_DIFF::FilterGeometryByVisibleLayers(), m_hasNativeContext, m_layerVisible, m_renderScene, and m_scene.
Referenced by SetContextItems(), SetLayerVisible(), and SetScene().
| void WIDGET_DIFF_CANVAS::CenterOnHighlight | ( | ) |
Pan so the currently highlighted change is at the center of the canvas.
No-op when nothing is highlighted.
Definition at line 449 of file widget_diff_canvas.cpp.
References center, highlightedBBox(), EDA_DRAW_PANEL_GAL::m_view, and EDA_DRAW_PANEL_GAL::Refresh().
|
inherited |
Clear the contents of the debug overlay and removes it from the VIEW.
Definition at line 847 of file draw_panel_gal.cpp.
References m_debugOverlay, and m_view.
|
inherited |
Create an overlay for rendering debug graphics.
Definition at line 835 of file draw_panel_gal.cpp.
References m_debugOverlay, and m_view.
|
inherited |
Repaint the canvas, and fix scrollbar cursors.
Usually called by a OnPaint event.
Because it does not use a wxPaintDC, it can be called outside a wxPaintEvent.
Definition at line 251 of file draw_panel_gal.cpp.
References _, DisplayErrorMessage(), GAL_TYPE_OPENGL, KIGFX::RENDER_SETTINGS::GetBackgroundColor(), KIGFX::VIEW::GetCenter(), KIGFX::RENDER_SETTINGS::GetCursorColor(), KIGFX::RENDER_SETTINGS::GetGridColor(), GetParentEDAFrame(), EDA_DRAW_FRAME::GetScreen(), GetView(), IsDialogPreview(), m_backend, m_drawing, m_drawingEnabled, m_gal, m_glRecoveryAttempted, m_lastCursorPosition, m_lastRepaintEnd, m_lastRepaintStart, m_painter, m_parent, m_refreshMutex, BASE_SCREEN::m_ScrollCenter, m_view, m_viewControls, Pgm(), recoverFromGalError(), PROF_TIMER::Start(), PROF_TIMER::Stop(), StopDrawing(), KIGFX::TARGET_NONCACHED, KIGFX::TARGET_OVERLAY, PROF_TIMER::to_string(), traceDrawPanel, and traceGalProfile.
Referenced by ForceRefresh(), GetScreenshot(), onPaint(), and Refresh().
| void WIDGET_DIFF_CANVAS::EndUpdate | ( | ) |
Definition at line 370 of file widget_diff_canvas.cpp.
References m_holdRebuild, m_zoomToFitPending, rebuildOverlay(), and ZoomToFit().
|
inherited |
Force a redraw.
Definition at line 548 of file draw_panel_gal.cpp.
References DoRePaint(), m_drawingEnabled, m_gal, m_refreshTimer, onIdle(), and onPaint().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), FOOTPRINT_EDIT_FRAME::CommonSettingsChanged(), FOOTPRINT_VIEWER_FRAME::CommonSettingsChanged(), GERBVIEW_FRAME::CommonSettingsChanged(), PCB_EDIT_FRAME::CommonSettingsChanged(), PL_EDITOR_FRAME::CommonSettingsChanged(), SCH_EDIT_FRAME::CommonSettingsChanged(), SYMBOL_EDIT_FRAME::CommonSettingsChanged(), SYMBOL_VIEWER_FRAME::CommonSettingsChanged(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), PAD_TOOL::ExitPadEditMode(), FOOTPRINT_EDIT_FRAME::HardRedraw(), SCH_BASE_FRAME::HardRedraw(), SCH_EDIT_FRAME::HardRedraw(), FOOTPRINT_EDIT_FRAME::installFootprintTabBoard(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_EDIT_FRAME::OnCrossProbeFlashTimer(), SCH_EDIT_FRAME::OnCrossProbeFlashTimer(), onRefreshTimer(), DIALOG_FP_EDIT_PAD_TABLE::OnSelectCell(), FOOTPRINT_PREVIEW_PANEL::RefreshAll(), FOOTPRINT_EDIT_FRAME::ReloadFootprint(), DIALOG_FP_EDIT_PAD_TABLE::RestoreOriginalPadState(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), and COMMON_TOOLS::ToggleBoundingBoxes().
|
inlineinherited |
Return the type of backend currently used by GAL canvas.
Definition at line 112 of file class_draw_panel_gal.h.
References m_backend.
Referenced by EDA_DRAW_FRAME::CommonSettingsChanged(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), EDA_DRAW_FRAME::SwitchCanvas(), GERBVIEW_FRAME::UpdateXORLayers(), GERBVIEW_FRAME::~GERBVIEW_FRAME(), PCB_BASE_FRAME::~PCB_BASE_FRAME(), PL_EDITOR_FRAME::~PL_EDITOR_FRAME(), and SCH_EDIT_FRAME::~SCH_EDIT_FRAME().
|
inlinevirtualinherited |
Return the bounding box of the view that should be used if model is not valid.
For example, the drawing sheet bounding box for an empty PCB
Reimplemented in GERBVIEW_DRAW_PANEL_GAL, and PCB_DRAW_PANEL_GAL.
Definition at line 226 of file class_draw_panel_gal.h.
Referenced by COMMON_TOOLS::doCenter(), and COMMON_TOOLS::doZoomFit().
|
inlineinherited |
Return a pointer to the GAL instance used in the panel.
Definition at line 119 of file class_draw_panel_gal.h.
References m_gal.
Referenced by FOOTPRINT_EDIT_FRAME::ActivateGalCanvas(), GERBVIEW_FRAME::ActivateGalCanvas(), SCH_BASE_FRAME::CommonSettingsChanged(), SYMBOL_VIEWER_FRAME::CommonSettingsChanged(), KICAD_DIFF::ConfigurePcbDiffCanvasContext(), KICAD_DIFF::ConfigureSchDiffCanvasContext(), KICAD_DIFF::ConfigureSymDiffCanvasContext(), GERBVIEW_FRAME::DisplayGridMsg(), GERBVIEW_DRAW_PANEL_GAL::GERBVIEW_DRAW_PANEL_GAL(), EDA_DRAW_FRAME::GetNearestGridPosition(), EDA_DRAW_FRAME::GetNearestHalfGridPosition(), FOOTPRINT_PREVIEW_PANEL::New(), EDA_DRAW_FRAME::OnMove(), EDA_DRAW_FRAME::OnUpdateSelectZoom(), PL_DRAW_PANEL_GAL::PL_DRAW_PANEL_GAL(), PCB_BASE_EDIT_FRAME::SetBoard(), GERBVIEW_FRAME::SetGridColor(), PCB_EDIT_FRAME::SetGridColor(), EDA_DRAW_FRAME::SetGridVisibility(), FP_TREE_SYNCHRONIZING_ADAPTER::ShowPreview(), GERBVIEW_DRAW_PANEL_GAL::SwitchBackend(), PL_DRAW_PANEL_GAL::SwitchBackend(), FOOTPRINT_EDIT_FRAME::SwitchCanvas(), and SYMBOL_EDIT_FRAME::SwitchCanvas().
|
inlinevirtualinherited |
Reimplemented in GERBVIEW_DRAW_PANEL_GAL, PCB_DRAW_PANEL_GAL, and PL_DRAW_PANEL_GAL.
Definition at line 190 of file class_draw_panel_gal.h.
|
inlineinherited |
Returns parent EDA_DRAW_FRAME, if available or NULL otherwise.
Definition at line 198 of file class_draw_panel_gal.h.
References m_edaFrame.
Referenced by DoRePaint(), GERBVIEW_DRAW_PANEL_GAL::GERBVIEW_DRAW_PANEL_GAL(), PCB_DRAW_PANEL_GAL::GetMsgPanelInfo(), GERBVIEW_DRAW_PANEL_GAL::OnShow(), PCB_DRAW_PANEL_GAL::OnShow(), SCH_DRAW_PANEL::OnShow(), onSize(), PCB_DRAW_PANEL_GAL::PCB_DRAW_PANEL_GAL(), SCH_DRAW_PANEL::SCH_DRAW_PANEL(), GERBVIEW_DRAW_PANEL_GAL::SwitchBackend(), and PCB_DRAW_PANEL_GAL::UpdateColors().
|
inherited |
Capture the current canvas contents into aDstImage.
Definition at line 573 of file draw_panel_gal.cpp.
References DoRePaint(), GAL_TYPE_OPENGL, GetScreenshot(), m_backend, and m_gal.
Referenced by GetScreenshot().
|
staticinherited |
Gets a populated View Controls settings object dervived from our program settings.
Definition at line 857 of file draw_panel_gal.cpp.
References COMMON_SETTINGS::INPUT::auto_pan, COMMON_SETTINGS::INPUT::auto_pan_acceleration, COMMON_SETTINGS::INPUT::center_on_zoom, COMMON_SETTINGS::INPUT::drag_left, COMMON_SETTINGS::INPUT::drag_middle, COMMON_SETTINGS::INPUT::drag_right, COMMON_SETTINGS::INPUT::focus_follow_sch_pcb, PGM_BASE::GetCommonSettings(), COMMON_SETTINGS::INPUT::horizontal_pan, KIGFX::VC_SETTINGS::m_autoPanAcceleration, KIGFX::VC_SETTINGS::m_autoPanSettingEnabled, KIGFX::VC_SETTINGS::m_dragLeft, KIGFX::VC_SETTINGS::m_dragMiddle, KIGFX::VC_SETTINGS::m_dragRight, KIGFX::VC_SETTINGS::m_focusFollowSchPcb, KIGFX::VC_SETTINGS::m_horizontalPan, COMMON_SETTINGS::m_Input, KIGFX::VC_SETTINGS::m_motionPanModifier, KIGFX::VC_SETTINGS::m_scrollModifierPanH, KIGFX::VC_SETTINGS::m_scrollModifierPanV, KIGFX::VC_SETTINGS::m_scrollModifierZoom, KIGFX::VC_SETTINGS::m_scrollReversePanH, KIGFX::VC_SETTINGS::m_scrollReverseZoom, KIGFX::VC_SETTINGS::m_warpCursor, KIGFX::VC_SETTINGS::m_zoomAcceleration, KIGFX::VC_SETTINGS::m_zoomSpeed, KIGFX::VC_SETTINGS::m_zoomSpeedAuto, COMMON_SETTINGS::INPUT::motion_pan_modifier, Pgm(), COMMON_SETTINGS::INPUT::reverse_scroll_pan_h, COMMON_SETTINGS::INPUT::reverse_scroll_zoom, COMMON_SETTINGS::INPUT::scroll_modifier_pan_h, COMMON_SETTINGS::INPUT::scroll_modifier_pan_v, COMMON_SETTINGS::INPUT::scroll_modifier_zoom, COMMON_SETTINGS::INPUT::zoom_acceleration, COMMON_SETTINGS::INPUT::zoom_speed, and COMMON_SETTINGS::INPUT::zoom_speed_auto.
Referenced by EDA_3D_VIEWER_FRAME::applySettings(), EDA_3D_VIEWER_FRAME::configureCanvas(), and SwitchBackend().
|
inlinevirtualinherited |
Return a pointer to the #VIEW instance used in the panel.
Reimplemented in PCB_DRAW_PANEL_GAL, and SCH_DRAW_PANEL.
Definition at line 126 of file class_draw_panel_gal.h.
References m_view.
Referenced by GERBVIEW_FRAME::ActivateGalCanvas(), PCB_BASE_FRAME::ActivateGalCanvas(), GERBVIEW_FRAME::ApplyDisplaySettingsToGAL(), EDITOR_CONDITIONS::bboxesFunc(), GERBVIEW_FRAME::Clear_DrawLayers(), GERBVIEW_FRAME::CommonSettingsChanged(), PL_EDITOR_FRAME::CommonSettingsChanged(), KICAD_DIFF::ConfigurePcbDiffCanvasContext(), DoRePaint(), EDA_DRAW_FRAME::FocusOnLocation(), GERBVIEW_FRAME::GetVisibleLayers(), GERBVIEW_CONTROL::HighlightControl(), EDA_DRAW_FRAME::OnMove(), GERBVIEW_FRAME::OnSelectActiveDCode(), GERBVIEW_FRAME::OnSelectActiveLayer(), PL_EDITOR_FRAME::OnSelectPage(), GERBVIEW_FRAME::Read_EXCELLON_File(), GERBVIEW_FRAME::Read_GERBER_File(), GERBVIEW_FRAME::RemapLayers(), SPNAV_2D_PLUGIN::SetCanvas(), PCB_BASE_FRAME::SetDisplayOptions(), GERBVIEW_FRAME::SetElementVisibility(), EDA_DRAW_FRAME::SetGridVisibility(), GERBVIEW_FRAME::SetLayerDrawPrms(), GERBVIEW_FRAME::SetVisibleLayers(), SPNAV_2D_PLUGIN::SPNAV_2D_PLUGIN(), COMMON_TOOLS::ToggleBoundingBoxes(), GERBVIEW_FRAME::unarchiveFiles(), GERBVIEW_FRAME::UpdateXORLayers(), and GERBVIEW_FRAME::~GERBVIEW_FRAME().
|
inlineinherited |
Return a pointer to the #VIEW_CONTROLS instance used in the panel.
Definition at line 133 of file class_draw_panel_gal.h.
References m_viewControls.
Referenced by PCB_BASE_FRAME::ActivateGalCanvas(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), EDA_DRAW_FRAME::CommonSettingsChanged(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), EDA_DRAW_FRAME::FocusOnLocation(), FOOTPRINT_WIZARD_FRAME::FOOTPRINT_WIZARD_FRAME(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), SCH_BASE_FRAME::RedrawScreen(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), GERBVIEW_FRAME::UpdateStatusBar(), PCB_BASE_FRAME::UpdateStatusBar(), PL_EDITOR_FRAME::UpdateStatusBar(), and SCH_BASE_FRAME::UpdateStatusBar().
| void WIDGET_DIFF_CANVAS::HighlightChange | ( | std::optional< KIID_PATH > | aChangeId | ) |
Outline shape(s) whose SCENE_SHAPE::changeId matches the given path.
Multiple shapes can share a changeId — DUPLICATE_UUID changes for example — and all matching shapes get the highlight treatment. Pass std::nullopt to clear.
Definition at line 190 of file widget_diff_canvas.cpp.
References KIGFX::COLOR4D::a, BOX2< Vec >::GetHeight(), BOX2< Vec >::GetWidth(), m_contextGroupItems, m_highlight, m_highlightBox, m_hover, m_hoverBox, m_itemCategories, EDA_ITEM::m_Uuid, KICAD_DIFF::DIFF_COLOR_THEME::modified, rebuildOverlay(), and KICAD_DIFF::ThemeColorFor().
|
private |
Union bbox of all shapes whose changeId matches the current highlight, honoring per-category visibility.
std::nullopt when nothing matches.
Definition at line 694 of file widget_diff_canvas.cpp.
References KICAD_DIFF::HighlightedBBox(), m_categoryVisible, m_highlight, and m_scene.
Referenced by CenterOnHighlight(), and onChar().
| bool WIDGET_DIFF_CANVAS::IsCategoryVisible | ( | KICAD_DIFF::CATEGORY | aCategory | ) | const |
Definition at line 288 of file widget_diff_canvas.cpp.
References m_categoryVisible.
Referenced by shapeAt().
| bool WIDGET_DIFF_CANVAS::IsChangeHidden | ( | const KIID_PATH & | aChangeId | ) | const |
Definition at line 309 of file widget_diff_canvas.cpp.
References m_hiddenChanges.
|
inlineinherited |
Definition at line 200 of file class_draw_panel_gal.h.
References m_edaFrame, and m_parent.
Referenced by DoRePaint(), PCB_DRAW_PANEL_GAL::OnShow(), and PCB_DRAW_PANEL_GAL::PCB_DRAW_PANEL_GAL().
| bool WIDGET_DIFF_CANVAS::IsLayerVisible | ( | PCB_LAYER_ID | aLayer | ) | const |
Definition at line 358 of file widget_diff_canvas.cpp.
References m_layerVisible.
|
private |
Definition at line 645 of file widget_diff_canvas.cpp.
References highlightedBBox(), m_highlight, m_pickHandler, m_scene, ZoomToBBox(), and ZoomToFit().
Referenced by WIDGET_DIFF_CANVAS().
|
private |
Definition at line 559 of file widget_diff_canvas.cpp.
References BOX2< Vec >::Contains(), BOX2< Vec >::GetArea(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetWidth(), KiROUND(), m_contextGroupItems, m_dclickHandler, EDA_DRAW_PANEL_GAL::m_view, KIGFX::VIEW_ITEM::ViewBBox(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by WIDGET_DIFF_CANVAS().
|
protectedinherited |
Definition at line 757 of file draw_panel_gal.cpp.
References KIUI::IsInputControlFocused(), KIUI::IsModalDialogFocused(), KIPLATFORM::UI::IsWindowActive(), m_edaFrame, m_stealsFocus, and SetFocus().
Referenced by EDA_DRAW_PANEL_GAL().
|
inherited |
Used to forward events to the canvas from popups, etc.
Definition at line 738 of file draw_panel_gal.cpp.
References KIUI::IsInputControlFocused(), KIUI::IsModalDialogFocused(), KIPLATFORM::UI::IsWindowActive(), m_edaFrame, m_eventDispatcher, m_lostFocus, m_stealsFocus, Refresh(), and SetFocus().
Referenced by EDA_DRAW_PANEL_GAL(), and STATUS_POPUP::onCharHook().
|
protectedinherited |
Definition at line 788 of file draw_panel_gal.cpp.
References m_needIdleRefresh, and Refresh().
Referenced by ForceRefresh(), and StopDrawing().
|
private |
Definition at line 632 of file widget_diff_canvas.cpp.
References m_hover, m_hoverBox, and rebuildOverlay().
Referenced by WIDGET_DIFF_CANVAS().
|
private |
Definition at line 544 of file widget_diff_canvas.cpp.
References m_pickHandler, EDA_DRAW_PANEL_GAL::SetFocus(), and shapeAt().
Referenced by WIDGET_DIFF_CANVAS().
|
protectedinherited |
Definition at line 772 of file draw_panel_gal.cpp.
References m_eventDispatcher, m_lostFocus, and m_viewControls.
Referenced by EDA_DRAW_PANEL_GAL().
|
private |
Definition at line 601 of file widget_diff_canvas.cpp.
References KIGFX::COLOR4D::a, KICAD_DIFF::SCENE_SHAPE::bbox, KICAD_DIFF::SCENE_SHAPE::changeId, KICAD_DIFF::SCENE_SHAPE::color, m_highlight, m_hover, m_hoverBox, rebuildOverlay(), and shapeAt().
Referenced by WIDGET_DIFF_CANVAS().
|
protectedvirtualinherited |
Reimplemented in SCH_DRAW_PANEL, and SCH_PREVIEW_PANEL.
Definition at line 194 of file draw_panel_gal.cpp.
References DoRePaint().
Referenced by ForceRefresh(), SCH_DRAW_PANEL::onPaint(), SCH_PREVIEW_PANEL::onPaint(), and StopDrawing().
|
protectedinherited |
Definition at line 800 of file draw_panel_gal.cpp.
References ForceRefresh().
Referenced by EDA_DRAW_PANEL_GAL().
|
inlinevirtualinherited |
Called when the window is shown for the first time.
Reimplemented in GERBVIEW_DRAW_PANEL_GAL, PCB_DRAW_PANEL_GAL, SCH_DRAW_PANEL, and SCH_PREVIEW_PANEL.
Definition at line 205 of file class_draw_panel_gal.h.
Referenced by onShowEvent().
|
protectedinherited |
Definition at line 806 of file draw_panel_gal.cpp.
References m_gal, and OnShow().
Referenced by EDA_DRAW_PANEL_GAL(), and ~EDA_DRAW_PANEL_GAL().
|
private |
Definition at line 685 of file widget_diff_canvas.cpp.
References m_zoomToFitPending, and ZoomToFit().
Referenced by WIDGET_DIFF_CANVAS().
|
private |
Rebuild the overlay from the render scene + current highlight state.
aOverlayOnly marks only the overlay target dirty (for hover/highlight changes that leave the cached board untouched).
Definition at line 482 of file widget_diff_canvas.cpp.
References m_categoryVisible, m_hiddenChanges, m_highlight, m_highlightBox, m_holdRebuild, m_hoverBox, m_overlay, m_renderScene, EDA_DRAW_PANEL_GAL::m_view, EDA_DRAW_PANEL_GAL::Refresh(), KICAD_DIFF::RenderSceneToOverlay(), and KIGFX::TARGET_OVERLAY.
Referenced by EndUpdate(), HighlightChange(), onLeave(), onMotion(), SetCategoryVisible(), SetContextItems(), SetHiddenChanges(), SetLayerVisible(), and SetScene().
|
protectedinherited |
Definition at line 200 of file draw_panel_gal.cpp.
References _, DisplayErrorMessage(), DisplayInfoMessage(), GAL_FALLBACK, GAL_FALLBACK_AVAILABLE, GAL_TYPE_NONE, m_backend, m_glRecoveryAttempted, m_parent, StartDrawing(), and SwitchBackend().
Referenced by DoRePaint().
|
overridevirtualinherited |
Reimplemented in SCH_PREVIEW_PANEL.
Definition at line 505 of file draw_panel_gal.cpp.
References delta, DoRePaint(), m_gal, m_lastRepaintEnd, m_refreshTimer, and RequestRefresh().
Referenced by PCB_EDIT_FRAME::ActivateGalCanvas(), SYMBOL_EDIT_FRAME::activateSymbolTab(), SCH_EDIT_FRAME::AnnotateSymbols(), WIDGET_DIFF_CANVAS::CenterOnHighlight(), GERBVIEW_CONTROL::ClearAllLayers(), SYMBOL_EDIT_FRAME::CommonSettingsChanged(), PCB_BASE_EDIT_FRAME::configureToolbars(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), COMMON_TOOLS::doCenter(), COMMON_TOOLS::doZoomFit(), SCH_EDIT_FRAME::EditVariantDescription(), GERBVIEW_FRAME::Erase_Current_DrawLayer(), PCB_EDIT_FRAME::ExecuteRemoteCommand(), FOOTPRINT_PREVIEW_PANEL::fitToCurrentFootprint(), PCB_BASE_FRAME::FocusOnItems(), PL_EDITOR_FRAME::GetLayoutFromRedoList(), PL_EDITOR_FRAME::GetLayoutFromUndoList(), PCB_VIEWER_TOOLS::GraphicOutlines(), API_HANDLER_PCB::handleSetBoardEditorAppearanceSettings(), PL_EDITOR_FRAME::HardRedraw(), GERBVIEW_CONTROL::HighlightControl(), DISPLAY_FOOTPRINTS_FRAME::InitDisplay(), POSITION_RELATIVE_TOOL::InteractiveOffset(), SCH_EDIT_FRAME::KiwayMailIn(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), GERBVIEW_FRAME::LoadListOfGerberAndDrillFiles(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), GERBVIEW_CONTROL::LoadZipfile(), PCB_VIEWER_TOOLS::MeasureTool(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), OnEvent(), PANEL_COMPONENT_CLASS_ASSIGNMENT::OnHighlightItemsClick(), onIdle(), SCH_EDIT_FRAME::OnModify(), PCB_EDIT_FRAME::OnNetlistChanged(), SCH_EDIT_FRAME::onNetNavigatorSelection(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), GERBVIEW_FRAME::OnSelectActiveDCode(), GERBVIEW_FRAME::OnSelectActiveLayer(), PL_EDITOR_FRAME::OnSelectCoordOriginCorner(), PL_EDITOR_FRAME::OnSelectPage(), PCB_EDIT_FRAME::onVariantSelected(), GERBVIEW_CONTROL::OpenJobFile(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), GERBVIEW_CONTROL::OpenZipFile(), PCB_VIEWER_TOOLS::PadDisplayMode(), ROUTER_TOOL::performRouting(), ROUTER_TOOL::prepareInteractive(), PCB_CONTROL::RatsnestModeCycle(), WIDGET_DIFF_CANVAS::rebuildOverlay(), SYMBOL_EDIT_FRAME::RebuildView(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), FOOTPRINT_WIZARD_FRAME::ReCreateParameterList(), SCH_BASE_FRAME::RedrawScreen(), SCH_PREVIEW_PANEL::Refresh(), ZONE_FILLER_TOOL::refresh(), EDA_DRAW_FRAME::RefreshCanvas(), FOOTPRINT_WIZARD_FRAME::RegenerateFootprint(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), DISPLAY_FOOTPRINTS_FRAME::ReloadFootprint(), GERBVIEW_FRAME::RemapLayers(), SCH_EDIT_FRAME::RemoveVariant(), PCB_BASE_EDIT_FRAME::RestoreCopyFromRedoList(), PCB_BASE_EDIT_FRAME::RestoreCopyFromUndoList(), FOOTPRINT_EDIT_FRAME::RevertFootprint(), PCB_BASE_EDIT_FRAME::RollbackFromUndo(), PL_EDITOR_FRAME::RollbackFromUndo(), SCH_EDIT_FRAME::RollbackSchematicFromUndo(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), FOOTPRINT_EDIT_FRAME::SetActiveLayer(), GERBVIEW_FRAME::SetActiveLayer(), PCB_EDIT_FRAME::SetActiveLayer(), WIDGET_DIFF_CANVAS::SetContextPainter(), SYMBOL_EDIT_FRAME::SetCurSymbol(), PCB_BASE_FRAME::SetDisplayOptions(), EDA_DRAW_FRAME::SetGridVisibility(), GERBVIEW_FRAME::SetLayerDrawPrms(), PCB_BASE_FRAME::SetPlotSettings(), SYMBOL_VIEWER_FRAME::SetSelectedLibrary(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), SYMBOL_EDIT_FRAME::ShowChangedLanguage(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), PCB_VIEWER_TOOLS::ShowPadNumbers(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SCH_DRAW_PANEL::SwitchBackend(), PCB_BASE_FRAME::SwitchLayer(), PCB_EDIT_FRAME::SwitchLayer(), PCB_VIEWER_TOOLS::TextOutlines(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::TrackDisplayMode(), SYMBOL_VIEWER_FRAME::updatePreviewSymbol(), PANEL_ASSIGN_COMPONENT_CLASSES::Validate(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), GLOBAL_EDIT_TOOL::ZonesManager(), ZONE_PREVIEW_CANVAS::ZoomFitScreen(), and WIDGET_DIFF_CANVAS::ZoomToBBox().
|
private |
Dim context items that are hidden, or unfocused while a highlight is active.
Definition at line 315 of file widget_diff_canvas.cpp.
References m_contextGroupItems, m_hiddenChanges, m_itemDimmer, EDA_ITEM::m_Uuid, EDA_DRAW_PANEL_GAL::m_view, path, and KIGFX::REPAINT.
Referenced by SetHiddenChanges().
|
inherited |
Make sure a refresh gets done on the next idle event if it hasn't already.
Definition at line 499 of file draw_panel_gal.cpp.
References m_needIdleRefresh.
Referenced by ZONE_PREVIEW_CANVAS::LockZoom(), Refresh(), ZONE_PREVIEW_CANVAS::ZONE_PREVIEW_CANVAS(), and ZONE_PREVIEW_CANVAS::ZoomFitScreen().
| void WIDGET_DIFF_CANVAS::SetCategoryVisible | ( | KICAD_DIFF::CATEGORY | aCategory, |
| bool | aVisible ) |
Toggle whether shapes of a given change category render.
Defaults to all visible.
Definition at line 247 of file widget_diff_canvas.cpp.
References m_categoryVisible, m_itemCategories, EDA_DRAW_PANEL_GAL::m_view, rebuildOverlay(), and KIGFX::REPAINT.
| void WIDGET_DIFF_CANVAS::SetContextItems | ( | const std::vector< KIGFX::VIEW_ITEM * > & | aItems | ) |
Replace source document context items.
Items are not owned by the widget; callers must keep the source documents alive while the dialog is open.
Definition at line 160 of file widget_diff_canvas.cpp.
References buildRenderScene(), m_contextGroup, m_contextGroupItems, m_hasNativeContext, m_itemCategories, EDA_DRAW_PANEL_GAL::m_view, and rebuildOverlay().
Referenced by KICAD_DIFF::ConfigurePcbDiffCanvasContext(), KICAD_DIFF::ConfigureSchDiffCanvasContext(), and KICAD_DIFF::ConfigureSymDiffCanvasContext().
| void WIDGET_DIFF_CANVAS::SetContextPainter | ( | std::unique_ptr< KIGFX::PAINTER > | aPainter | ) |
Install the native painter used for drawing source document context.
pcbnew/eeschema provide module-specific painters configured with a forced neutral color. The diff overlay remains owned by this widget.
Definition at line 148 of file widget_diff_canvas.cpp.
References EDA_DRAW_PANEL_GAL::m_painter, EDA_DRAW_PANEL_GAL::m_view, and EDA_DRAW_PANEL_GAL::Refresh().
Referenced by KICAD_DIFF::ConfigurePcbDiffCanvasContext(), KICAD_DIFF::ConfigureSchDiffCanvasContext(), and KICAD_DIFF::ConfigureSymDiffCanvasContext().
|
inherited |
Set the current cursor shape for this panel.
Definition at line 815 of file draw_panel_gal.cpp.
References DPI_SCALING_COMMON::GetContentScaleFactor(), m_gal, and m_parent.
Referenced by EDIT_TOOL::doMoveSelection(), PAD_TOOL::EnumeratePads(), PCB_VIEWER_TOOLS::MeasureTool(), and SwitchBackend().
|
inline |
Definition at line 154 of file widget_diff_canvas.h.
References m_dclickHandler.
|
inherited |
Set a dispatcher that processes events and forwards them to tools.
#DRAW_PANEL_GAL does not take over the ownership. Passing NULL disconnects all event handlers from the #DRAW_PANEL_GAL and parent frame.
| aEventDispatcher | is the object that will be used for dispatching events. |
Definition at line 584 of file draw_panel_gal.cpp.
References m_eventDispatcher.
Referenced by GERBVIEW_FRAME::ActivateGalCanvas(), PCB_BASE_FRAME::ActivateGalCanvas(), FOOTPRINT_EDIT_FRAME::doCloseWindow(), FOOTPRINT_CHOOSER_FRAME::FOOTPRINT_CHOOSER_FRAME(), FOOTPRINT_WIZARD_FRAME::FOOTPRINT_WIZARD_FRAME(), FOOTPRINT_EDIT_FRAME::setupTools(), PL_EDITOR_FRAME::setupTools(), SCH_EDIT_FRAME::setupTools(), SYMBOL_EDIT_FRAME::setupTools(), and SYMBOL_VIEWER_FRAME::setupTools().
|
overrideinherited |
Definition at line 186 of file draw_panel_gal.cpp.
References KIPLATFORM::UI::ImeNotifyCancelComposition(), and m_lostFocus.
Referenced by ZONE_CREATE_HELPER::createNewZone(), onEnter(), OnEvent(), WIDGET_DIFF_CANVAS::onLeftDown(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_DRAW_PANEL::SCH_DRAW_PANEL(), SCH_PREVIEW_PANEL::SCH_PREVIEW_PANEL(), FOOTPRINT_EDIT_FRAME::SetActiveLayer(), GERBVIEW_FRAME::SetActiveLayer(), PCB_EDIT_FRAME::SetActiveLayer(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), ZONE_FILLER_TOOL::singleShotRefocus(), PCB_EDIT_FRAME::ToggleSearch(), and PCB_EDIT_FRAME::Tracks_and_Vias_Size_Event().
| void WIDGET_DIFF_CANVAS::SetHiddenChanges | ( | std::set< KIID_PATH > | aHidden | ) |
Replace the set of muted changes.
Hidden changes render muted grey and stop grabbing clicks.
Definition at line 298 of file widget_diff_canvas.cpp.
References m_hiddenChanges, rebuildOverlay(), and refreshItemDimming().
|
virtualinherited |
Take care of display settings for the given layer to be displayed in high contrast mode.
Reimplemented in GERBVIEW_DRAW_PANEL_GAL, and PCB_DRAW_PANEL_GAL.
Definition at line 608 of file draw_panel_gal.cpp.
References KIGFX::RENDER_SETTINGS::ClearHighContrastLayers(), m_view, KIGFX::RENDER_SETTINGS::SetLayerIsHighContrast(), and SetTopLayer().
Referenced by GERBVIEW_FRAME::SetActiveLayer(), and PCB_BASE_FRAME::SetDisplayOptions().
| void WIDGET_DIFF_CANVAS::SetItemCategories | ( | std::map< KIGFX::VIEW_ITEM *, KICAD_DIFF::CATEGORY > | aMap | ) |
Tag context items by change category so SetCategoryVisible can hide / show them in lockstep with the diff-category checkboxes.
Definition at line 274 of file widget_diff_canvas.cpp.
References m_categoryVisible, m_itemCategories, and EDA_DRAW_PANEL_GAL::m_view.
Referenced by KICAD_DIFF::ConfigurePcbDiffCanvasContext(), and KICAD_DIFF::ConfigureSchDiffCanvasContext().
|
inline |
Definition at line 102 of file widget_diff_canvas.h.
References m_itemDimmer.
Referenced by KICAD_DIFF::ConfigurePcbDiffCanvasContext(), and KICAD_DIFF::ConfigureSchDiffCanvasContext().
| void WIDGET_DIFF_CANVAS::SetLayerVisible | ( | PCB_LAYER_ID | aLayer, |
| bool | aVisible ) |
Toggle whether board-context geometry on a given PCB layer renders.
Layerless geometry remains visible regardless of this filter.
Definition at line 343 of file widget_diff_canvas.cpp.
References buildRenderScene(), m_layerVisible, EDA_DRAW_PANEL_GAL::m_view, PCB_LAYER_ID_COUNT, and rebuildOverlay().
|
inline |
Definition at line 151 of file widget_diff_canvas.h.
References m_pickHandler.
| void WIDGET_DIFF_CANVAS::SetScene | ( | KICAD_DIFF::DIFF_SCENE | aScene | ) |
Replace the displayed scene. Pass an empty scene to clear the canvas.
Definition at line 129 of file widget_diff_canvas.cpp.
References buildRenderScene(), m_highlight, m_scene, rebuildOverlay(), and ZoomToFit().
|
inlineinherited |
Definition at line 97 of file class_draw_panel_gal.h.
References m_statusPopup.
Referenced by PAD_TOOL::EnumeratePads(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::SelectItemInteractively(), and PCB_PICKER_TOOL::SelectPointInteractively().
|
inlineinherited |
Set whether focus is taken on certain events (mouseover, keys, etc).
This should be true (and is by default) for any primary canvas, but can be false to make well behaved preview panes and the like.
Definition at line 213 of file class_draw_panel_gal.h.
References m_stealsFocus.
Referenced by SYMBOL_VIEWER_FRAME::ClickOnSymbolList(), FOOTPRINT_PREVIEW_PANEL::FOOTPRINT_PREVIEW_PANEL(), and SYMBOL_VIEWER_FRAME::SetSelectedLibrary().
|
virtualinherited |
Move the selected layer to the top, so it is displayed above all others.
Reimplemented in GERBVIEW_DRAW_PANEL_GAL, PCB_DRAW_PANEL_GAL, and PL_DRAW_PANEL_GAL.
Definition at line 622 of file draw_panel_gal.cpp.
References m_view.
Referenced by SetHighContrastLayer().
| void WIDGET_DIFF_CANVAS::SetWorldUnitLength | ( | double | aWorldUnitLength | ) |
Definition at line 140 of file widget_diff_canvas.cpp.
References EDA_DRAW_PANEL_GAL::m_gal, and ZoomToFit().
Referenced by KICAD_DIFF::ConfigureSymDiffCanvasContext().
|
private |
Hit test in screen coordinates → topmost SCENE_SHAPE under the cursor.
Definition at line 512 of file widget_diff_canvas.cpp.
References IsCategoryVisible(), KiROUND(), m_hiddenChanges, m_scene, EDA_DRAW_PANEL_GAL::m_view, KICAD_DIFF::PAINT_ORDER, KICAD_DIFF::ShapesFor(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by onLeftDown(), and onMotion().
|
inherited |
Begin drawing if it was stopped previously.
Definition at line 590 of file draw_panel_gal.cpp.
References m_refreshTimer.
Referenced by EDA_DRAW_FRAME::ActivateGalCanvas(), GERBVIEW_FRAME::ActivateGalCanvas(), PCB_BASE_FRAME::ActivateGalCanvas(), FOOTPRINT_PREVIEW_PANEL::FOOTPRINT_PREVIEW_PANEL(), recoverFromGalError(), SCH_DRAW_PANEL::SCH_DRAW_PANEL(), SCH_PREVIEW_PANEL::SCH_PREVIEW_PANEL(), WIDGET_DIFF_CANVAS::WIDGET_DIFF_CANVAS(), and ZONE_PREVIEW_CANVAS::ZONE_PREVIEW_CANVAS().
|
inlineinherited |
Definition at line 92 of file class_draw_panel_gal.h.
References m_statusPopup.
|
inherited |
Prevent the GAL canvas from further drawing until it is recreated or StartDrawing() is called.
Definition at line 597 of file draw_panel_gal.cpp.
References m_drawingEnabled, m_refreshTimer, onIdle(), and onPaint().
Referenced by FOOTPRINT_EDIT_FRAME::doCloseWindow(), FOOTPRINT_VIEWER_FRAME::doCloseWindow(), GERBVIEW_FRAME::doCloseWindow(), PCB_EDIT_FRAME::doCloseWindow(), SCH_BASE_FRAME::doCloseWindow(), DoRePaint(), SwitchBackend(), DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME(), ~EDA_DRAW_PANEL_GAL(), FOOTPRINT_VIEWER_FRAME::~FOOTPRINT_VIEWER_FRAME(), FOOTPRINT_WIZARD_FRAME::~FOOTPRINT_WIZARD_FRAME(), and WIDGET_DIFF_CANVAS::~WIDGET_DIFF_CANVAS().
|
virtualinherited |
Switch method of rendering graphics.
| aGalType | is a type of rendering engine that you want to use. |
Reimplemented in GERBVIEW_DRAW_PANEL_GAL, PCB_DRAW_PANEL_GAL, PL_DRAW_PANEL_GAL, and SCH_DRAW_PANEL.
Definition at line 630 of file draw_panel_gal.cpp.
References _, ARROW, KIGFX::OPENGL_GAL::CheckFeatures(), DisplayErrorMessage(), DisplayInfoMessage(), GAL_FALLBACK, GAL_TYPE_CAIRO, GAL_TYPE_NONE, GAL_TYPE_OPENGL, GetVcSettings(), KI_FALLTHROUGH, m_backend, m_gal, m_options, m_painter, m_parent, m_view, result, SetCurrentCursor(), StopDrawing(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by EDA_DRAW_PANEL_GAL(), recoverFromGalError(), GERBVIEW_DRAW_PANEL_GAL::SwitchBackend(), PCB_DRAW_PANEL_GAL::SwitchBackend(), PL_DRAW_PANEL_GAL::SwitchBackend(), SCH_DRAW_PANEL::SwitchBackend(), and EDA_DRAW_FRAME::SwitchCanvas().
| void WIDGET_DIFF_CANVAS::ZoomToBBox | ( | const BOX2I & | aBBox | ) |
Zoom and center on a specific document-space bbox with a small margin.
Definition at line 434 of file widget_diff_canvas.cpp.
References BOX2< Vec >::GetHeight(), BOX2< Vec >::GetLeft(), BOX2< Vec >::GetTop(), BOX2< Vec >::GetWidth(), BOX2< Vec >::Inflate(), EDA_DRAW_PANEL_GAL::m_view, and EDA_DRAW_PANEL_GAL::Refresh().
Referenced by onChar(), and ZoomToFit().
| void WIDGET_DIFF_CANVAS::ZoomToFit | ( | ) |
Center the view on the scene's document bbox.
Safe to call before the canvas has been sized — the request will be deferred to the next wxEVT_SIZE.
Definition at line 380 of file widget_diff_canvas.cpp.
References BOX2< Vec >::GetHeight(), BOX2< Vec >::GetWidth(), m_contextGroupItems, m_holdRebuild, m_scene, m_zoomToFitPending, BOX2< Vec >::Merge(), and ZoomToBBox().
Referenced by KICAD_DIFF::ConfigureSymDiffCanvasContext(), EndUpdate(), onChar(), onSize(), SetScene(), and SetWorldUnitLength().
|
staticconstexprinherited |
Definition at line 72 of file class_draw_panel_gal.h.
Referenced by DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME(), EVT_UPDATE_UI_RANGE(), FOOTPRINT_WIZARD_FRAME::FOOTPRINT_WIZARD_FRAME(), PCB_DRAW_PANEL_GAL::OnShow(), SCH_DRAW_PANEL::OnShow(), recoverFromGalError(), EDA_DRAW_FRAME::resolveCanvasType(), FOOTPRINT_EDIT_FRAME::resolveCanvasType(), SCH_DESIGN_BLOCK_PREVIEW_WIDGET::SCH_DESIGN_BLOCK_PREVIEW_WIDGET(), SwitchBackend(), SYMBOL_PREVIEW_WIDGET::SYMBOL_PREVIEW_WIDGET(), and WIDGET_DIFF_CANVAS::WIDGET_DIFF_CANVAS().
|
staticconstexprinherited |
Definition at line 74 of file class_draw_panel_gal.h.
Referenced by recoverFromGalError().
|
protectedinherited |
Currently used GAL.
Definition at line 315 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), EDA_DRAW_PANEL_GAL(), GetBackend(), GetScreenshot(), PCB_DRAW_PANEL_GAL::OnShow(), SCH_DRAW_PANEL::OnShow(), recoverFromGalError(), GERBVIEW_DRAW_PANEL_GAL::setDefaultLayerDeps(), PCB_DRAW_PANEL_GAL::setDefaultLayerDeps(), SCH_DRAW_PANEL::setDefaultLayerDeps(), and SwitchBackend().
|
private |
Definition at line 196 of file widget_diff_canvas.h.
Referenced by highlightedBBox(), IsCategoryVisible(), rebuildOverlay(), SetCategoryVisible(), and SetItemCategories().
|
private |
Definition at line 206 of file widget_diff_canvas.h.
Referenced by SetContextItems(), WIDGET_DIFF_CANVAS(), and ~WIDGET_DIFF_CANVAS().
|
private |
Definition at line 207 of file widget_diff_canvas.h.
Referenced by HighlightChange(), onDoubleClick(), refreshItemDimming(), SetContextItems(), ZoomToFit(), and ~WIDGET_DIFF_CANVAS().
|
private |
Definition at line 191 of file widget_diff_canvas.h.
Referenced by onDoubleClick(), and SetDoubleClickHandler().
|
protectedinherited |
Optional overlay for drawing transient debug objects.
Definition at line 335 of file class_draw_panel_gal.h.
Referenced by ClearDebugOverlay(), and DebugOverlay().
|
protectedinherited |
True if GAL is currently redrawing the view.
Definition at line 291 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), EDA_DRAW_PANEL_GAL(), and ~EDA_DRAW_PANEL_GAL().
|
protectedinherited |
Flag that determines if VIEW may use GAL for redrawing the screen.
Definition at line 294 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), EDA_DRAW_PANEL_GAL(), ForceRefresh(), and StopDrawing().
|
protectedinherited |
Parent EDA_DRAW_FRAME (if available)
Definition at line 282 of file class_draw_panel_gal.h.
Referenced by PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), EDA_DRAW_PANEL_GAL(), GetParentEDAFrame(), IsDialogPreview(), onEnter(), and OnEvent().
|
protectedinherited |
Processes and forwards events to tools.
Definition at line 319 of file class_draw_panel_gal.h.
Referenced by EDA_DRAW_PANEL_GAL(), OnEvent(), onLostFocus(), and SetEventDispatcher().
|
protectedinherited |
Interface for drawing objects on a 2D-surface.
Definition at line 303 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), EDA_DRAW_PANEL_GAL(), ForceRefresh(), GERBVIEW_DRAW_PANEL_GAL::GERBVIEW_DRAW_PANEL_GAL(), GetGAL(), GetScreenshot(), SCH_DRAW_PANEL::onPaint(), onShowEvent(), onSize(), PCB_DRAW_PANEL_GAL::PCB_DRAW_PANEL_GAL(), PL_DRAW_PANEL_GAL::PL_DRAW_PANEL_GAL(), Refresh(), SCH_DRAW_PANEL::SCH_DRAW_PANEL(), SCH_PREVIEW_PANEL::SCH_PREVIEW_PANEL(), SetCurrentCursor(), WIDGET_DIFF_CANVAS::SetWorldUnitLength(), SwitchBackend(), PCB_DRAW_PANEL_GAL::SwitchBackend(), SCH_DRAW_PANEL::SwitchBackend(), PCB_DRAW_PANEL_GAL::UpdateColors(), WIDGET_DIFF_CANVAS::WIDGET_DIFF_CANVAS(), ZONE_PREVIEW_CANVAS::ZONE_PREVIEW_CANVAS(), and ~EDA_DRAW_PANEL_GAL().
|
private |
EDA_DRAW_PANEL_GAL keeps a reference to the options struct, so it must outlive the panel.
Per-instance so siblings can vary if needed.
Definition at line 213 of file widget_diff_canvas.h.
Referenced by WIDGET_DIFF_CANVAS().
|
protectedinherited |
Set after an OpenGL recovery attempt to prevent infinite retry loops.
Definition at line 326 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), EDA_DRAW_PANEL_GAL(), and recoverFromGalError().
|
private |
Definition at line 205 of file widget_diff_canvas.h.
Referenced by buildRenderScene(), and SetContextItems().
|
private |
Definition at line 198 of file widget_diff_canvas.h.
Referenced by IsChangeHidden(), rebuildOverlay(), refreshItemDimming(), SetHiddenChanges(), and shapeAt().
|
private |
Definition at line 188 of file widget_diff_canvas.h.
Referenced by HighlightChange(), highlightedBBox(), onChar(), onMotion(), rebuildOverlay(), and SetScene().
|
private |
Definition at line 193 of file widget_diff_canvas.h.
Referenced by HighlightChange(), rebuildOverlay(), and WIDGET_DIFF_CANVAS().
|
private |
While true, rebuildOverlay()/ZoomToFit() are held so a batch renders once.
Definition at line 201 of file widget_diff_canvas.h.
Referenced by BeginUpdate(), EndUpdate(), rebuildOverlay(), and ZoomToFit().
|
private |
Definition at line 189 of file widget_diff_canvas.h.
Referenced by HighlightChange(), onLeave(), and onMotion().
|
private |
Definition at line 194 of file widget_diff_canvas.h.
Referenced by HighlightChange(), onLeave(), onMotion(), rebuildOverlay(), and WIDGET_DIFF_CANVAS().
|
private |
Definition at line 208 of file widget_diff_canvas.h.
Referenced by HighlightChange(), SetCategoryVisible(), SetContextItems(), and SetItemCategories().
|
private |
Definition at line 192 of file widget_diff_canvas.h.
Referenced by refreshItemDimming(), and SetItemDimmer().
|
protectedinherited |
Last cursor position sent to GAL for drawing.
Definition at line 300 of file class_draw_panel_gal.h.
Referenced by DoRePaint().
|
protectedinherited |
Timestamp of the last repaint end.
Definition at line 285 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), EDA_DRAW_PANEL_GAL(), and Refresh().
|
protectedinherited |
Timestamp of the last repaint start.
Definition at line 284 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), and EDA_DRAW_PANEL_GAL().
|
private |
Definition at line 203 of file widget_diff_canvas.h.
Referenced by buildRenderScene(), IsLayerVisible(), SetLayerVisible(), and WIDGET_DIFF_CANVAS().
|
protectedinherited |
Flag to indicate that focus should be regained on the next mouse event.
It is a workaround for cases when the panel loses keyboard focus, so it does not react to hotkeys anymore.
Definition at line 323 of file class_draw_panel_gal.h.
Referenced by EDA_DRAW_PANEL_GAL(), OnEvent(), onLostFocus(), and SetFocus().
|
inherited |
used on wxMSW: true after a wxEVT_MOUSE_CAPTURE_LOST was received false after the mouse is recaptured.
Used to avoid calling twice a CaptureMouse(), not accepted by wxMSW
Definition at line 266 of file class_draw_panel_gal.h.
Referenced by EDA_DRAW_PANEL_GAL().
|
protectedinherited |
True when canvas needs to be refreshed from idle handler.
Definition at line 297 of file class_draw_panel_gal.h.
Referenced by EDA_DRAW_PANEL_GAL(), onIdle(), and RequestRefresh().
|
protectedinherited |
Definition at line 316 of file class_draw_panel_gal.h.
Referenced by EDA_DRAW_PANEL_GAL(), and SwitchBackend().
|
private |
Definition at line 209 of file widget_diff_canvas.h.
Referenced by rebuildOverlay(), and WIDGET_DIFF_CANVAS().
|
protectedinherited |
Contains information about how to draw items using GAL.
Definition at line 309 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), EDA_DRAW_PANEL_GAL(), GERBVIEW_DRAW_PANEL_GAL::GERBVIEW_DRAW_PANEL_GAL(), SCH_PREVIEW_PANEL::GetRenderSettings(), PCB_DRAW_PANEL_GAL::PCB_DRAW_PANEL_GAL(), PL_DRAW_PANEL_GAL::PL_DRAW_PANEL_GAL(), SCH_DRAW_PANEL::SCH_DRAW_PANEL(), SCH_PREVIEW_PANEL::SCH_PREVIEW_PANEL(), WIDGET_DIFF_CANVAS::SetContextPainter(), SwitchBackend(), WIDGET_DIFF_CANVAS::WIDGET_DIFF_CANVAS(), and ZONE_PREVIEW_CANVAS::ZONE_PREVIEW_CANVAS().
|
inherited |
Definition at line 268 of file class_draw_panel_gal.h.
Referenced by EDA_DRAW_PANEL_GAL().
|
protectedinherited |
Pointer to the parent window.
Definition at line 281 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), EDA_DRAW_PANEL_GAL(), IsDialogPreview(), recoverFromGalError(), SetCurrentCursor(), and SwitchBackend().
|
private |
Definition at line 190 of file widget_diff_canvas.h.
Referenced by onChar(), onLeftDown(), and SetPickHandler().
|
protectedinherited |
Blocks multiple calls to the draw.
Definition at line 288 of file class_draw_panel_gal.h.
Referenced by DoRePaint().
|
protectedinherited |
Timer to prevent too-frequent refreshing.
Definition at line 286 of file class_draw_panel_gal.h.
Referenced by EDA_DRAW_PANEL_GAL(), ForceRefresh(), Refresh(), StartDrawing(), and StopDrawing().
|
private |
Definition at line 187 of file widget_diff_canvas.h.
Referenced by buildRenderScene(), and rebuildOverlay().
|
private |
Definition at line 186 of file widget_diff_canvas.h.
Referenced by buildRenderScene(), highlightedBBox(), onChar(), SetScene(), shapeAt(), and ZoomToFit().
|
protectedinherited |
Definition at line 332 of file class_draw_panel_gal.h.
Referenced by EDA_DRAW_PANEL_GAL(), SetStatusPopup(), and StatusPopupHasFocus().
|
protectedinherited |
Flag to indicate whether the panel should take focus at certain times (when moused over, and on various mouse/key events)
Definition at line 330 of file class_draw_panel_gal.h.
Referenced by EDA_DRAW_PANEL_GAL(), onEnter(), OnEvent(), and SetStealsFocus().
|
protectedinherited |
Stores view settings (scale, center, etc.) and items to be drawn.
Definition at line 306 of file class_draw_panel_gal.h.
Referenced by WIDGET_DIFF_CANVAS::CenterOnHighlight(), ClearDebugOverlay(), DebugOverlay(), PCB_DRAW_PANEL_GAL::DisplayBoard(), PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), DoRePaint(), EDA_DRAW_PANEL_GAL(), GERBVIEW_DRAW_PANEL_GAL::GERBVIEW_DRAW_PANEL_GAL(), GERBVIEW_DRAW_PANEL_GAL::GetDefaultViewBBox(), PCB_DRAW_PANEL_GAL::GetDefaultViewBBox(), GetView(), PCB_DRAW_PANEL_GAL::GetView(), SCH_DRAW_PANEL::GetView(), ZONE_PREVIEW_CANVAS::LockZoom(), WIDGET_DIFF_CANVAS::onDoubleClick(), GERBVIEW_DRAW_PANEL_GAL::OnShow(), PCB_DRAW_PANEL_GAL::OnShow(), SCH_DRAW_PANEL::OnShow(), onSize(), PCB_DRAW_PANEL_GAL::PCB_DRAW_PANEL_GAL(), PL_DRAW_PANEL_GAL::PL_DRAW_PANEL_GAL(), WIDGET_DIFF_CANVAS::rebuildOverlay(), PCB_DRAW_PANEL_GAL::RedrawRatsnest(), WIDGET_DIFF_CANVAS::refreshItemDimming(), SCH_DRAW_PANEL::SCH_DRAW_PANEL(), SCH_PREVIEW_PANEL::SCH_PREVIEW_PANEL(), WIDGET_DIFF_CANVAS::SetCategoryVisible(), WIDGET_DIFF_CANVAS::SetContextItems(), WIDGET_DIFF_CANVAS::SetContextPainter(), GERBVIEW_DRAW_PANEL_GAL::setDefaultLayerDeps(), PCB_DRAW_PANEL_GAL::setDefaultLayerDeps(), PL_DRAW_PANEL_GAL::setDefaultLayerDeps(), SCH_DRAW_PANEL::setDefaultLayerDeps(), SCH_PREVIEW_PANEL::setDefaultLayerDeps(), PCB_DRAW_PANEL_GAL::setDefaultLayerOrder(), SCH_DRAW_PANEL::setDefaultLayerOrder(), SCH_PREVIEW_PANEL::setDefaultLayerOrder(), GERBVIEW_DRAW_PANEL_GAL::SetDrawingSheet(), PCB_DRAW_PANEL_GAL::SetDrawingSheet(), SetHighContrastLayer(), GERBVIEW_DRAW_PANEL_GAL::SetHighContrastLayer(), PCB_DRAW_PANEL_GAL::SetHighContrastLayer(), WIDGET_DIFF_CANVAS::SetItemCategories(), WIDGET_DIFF_CANVAS::SetLayerVisible(), SetTopLayer(), GERBVIEW_DRAW_PANEL_GAL::SetTopLayer(), PCB_DRAW_PANEL_GAL::SetTopLayer(), PL_DRAW_PANEL_GAL::SetTopLayer(), WIDGET_DIFF_CANVAS::shapeAt(), SwitchBackend(), GERBVIEW_DRAW_PANEL_GAL::SwitchBackend(), PCB_DRAW_PANEL_GAL::SyncLayersVisibility(), PCB_DRAW_PANEL_GAL::UpdateColors(), SCH_PREVIEW_PANEL::view(), WIDGET_DIFF_CANVAS::WIDGET_DIFF_CANVAS(), ZONE_PREVIEW_CANVAS::ZONE_PREVIEW_CANVAS(), ZONE_PREVIEW_CANVAS::ZoomFitScreen(), WIDGET_DIFF_CANVAS::ZoomToBBox(), ~EDA_DRAW_PANEL_GAL(), and WIDGET_DIFF_CANVAS::~WIDGET_DIFF_CANVAS().
|
protectedinherited |
Control for VIEW (moving, zooming, etc.)
Definition at line 312 of file class_draw_panel_gal.h.
Referenced by DoRePaint(), EDA_DRAW_PANEL_GAL(), GERBVIEW_DRAW_PANEL_GAL::GERBVIEW_DRAW_PANEL_GAL(), GetViewControls(), onLostFocus(), PCB_DRAW_PANEL_GAL::PCB_DRAW_PANEL_GAL(), PL_DRAW_PANEL_GAL::PL_DRAW_PANEL_GAL(), SCH_DRAW_PANEL::SCH_DRAW_PANEL(), SCH_PREVIEW_PANEL::SCH_PREVIEW_PANEL(), WIDGET_DIFF_CANVAS::WIDGET_DIFF_CANVAS(), and ~EDA_DRAW_PANEL_GAL().
|
private |
True when a ZoomToFit was requested before the canvas had a real size — the next onSize will retry the fit and clear this.
Definition at line 217 of file widget_diff_canvas.h.
Referenced by EndUpdate(), onSize(), and ZoomToFit().