23#ifndef PCB_DRAW_PANEL_GAL_H_
24#define PCB_DRAW_PANEL_GAL_H_
42 PCB_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWindowId,
const wxPoint& aPosition,
155 void addRatsnest( std::shared_ptr<CONNECTIVITY_DATA> aConnectivity );
Information pertinent to a Pcbnew printed circuit board.
The base class for create windows for drawing purpose.
EDA_DRAW_PANEL_GAL(wxWindow *aParentWindow, wxWindowID aWindowId, const wxPoint &aPosition, const wxSize &aSize, KIGFX::GAL_DISPLAY_OPTIONS &aOptions, GAL_TYPE aGalType=GAL_TYPE_OPENGL)
Create a drawing panel that is contained inside aParentWindow.
@ GAL_TYPE_MODERN
RHI implementation, Vulkan or Metal on macOS.
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
void ChangeHighContrastLayer(PCB_LAYER_ID aLayer)
Follow an active layer change when nothing else that colours items has changed.
void UpdateColors()
Update the color settings in the painter and GAL.
void updateCanvasFadedLayers()
Let a retained scene apply the high contrast dim of cached layers whose dim does not depend on the it...
std::unique_ptr< RATSNEST_VIEW_ITEM > m_localRatsnest
Moving items' part, when split off.
BOX2I GetDefaultViewBBox() const override
Return the bounding box of the view that should be used if model is not valid.
virtual void SetTopLayer(int aLayer) override
Move the selected layer to the top, so it is displayed above all others.
void GetMsgPanelInfo(EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override
std::unique_ptr< RATSNEST_VIEW_ITEM > m_ratsnest
Ratsnest view item.
DS_PROXY_VIEW_ITEM * GetDrawingSheet() const
void applyHighContrastLayer(PCB_LAYER_ID aLayer, bool aOnlyLayerChanged)
Make aLayer the high contrast layer.
virtual ~PCB_DRAW_PANEL_GAL()
void SetDrawingSheet(DS_PROXY_VIEW_ITEM *aDrawingSheet)
Set or update drawing-sheet used by the draw panel.
void setDefaultLayerDeps()
Set rendering targets & dependencies for layers.
virtual KIGFX::PCB_VIEW * GetView() const override
Return a pointer to the KIGFX::VIEW instance used in the panel.
void beforeRedraw() override
Hook for subclasses to update view items whose inputs nothing else tracks.
void OnShow() override
Called when the window is shown for the first time.
void DisplayBoard(BOARD *aBoard, PROGRESS_REPORTER *aReporter=nullptr)
Add all items from the current board to the VIEW, so they can be displayed by GAL.
void SyncLayersVisibility(const BOARD *aBoard)
Update "visibility" property of each layer of a given BOARD.
bool m_highContrastShown
High contrast was on at the last recolour, so the next one may bring items back.
void setDefaultLayerOrder()
Reassign layer order to the initial settings.
PCB_DRAW_PANEL_GAL(wxWindow *aParentWindow, wxWindowID aWindowId, const wxPoint &aPosition, const wxSize &aSize, KIGFX::GAL_DISPLAY_OPTIONS &aOptions, GAL_TYPE aGalType=GAL_TYPE_MODERN)
bool m_highContrastHidden
High contrast hid inactive layers at the last recolour, which the canvas cannot fade away.
virtual void SetHighContrastLayer(int aLayer) override
Take care of display settings for the given layer to be displayed in high contrast mode.
void addRatsnest(std::shared_ptr< CONNECTIVITY_DATA > aConnectivity)
Add the ratsnest items the current canvas needs.
std::unique_ptr< DS_PROXY_VIEW_ITEM > m_drawingSheet
Currently used drawing-sheet.
bool SwitchBackend(GAL_TYPE aGalType) override
Switch method of rendering graphics.
void RedrawRatsnest()
Force refresh of the ratsnest visual representation.
void prepareGridSources() override
Push a GRID_SOURCE for every PCB_GRIDITEM on the board to the GAL.
A progress reporter interface for use in multi-threaded environments.
PCB_LAYER_ID
A quick note on layer IDs:
void ApplyPcbGalLayerOrder(KIGFX::VIEW *aView)
Apply pcbnew's canonical GAL layer order (copper and zones below silk, fab and courtyard) to any view...