KiCad PCB EDA Suite
|
The Cairo implementation of the graphics abstraction layer. More...
Namespaces | |
namespace | BUILTIN_FONT |
namespace | DETAIL |
namespace | PREVIEW |
Classes | |
class | ACCELERATING_ZOOM_CONTROLLER |
Class that zooms faster if scroll events happen very close together. More... | |
class | ANTIALIASING_NONE |
class | ANTIALIASING_SMAA |
class | ANTIALIASING_SUPERSAMPLING |
class | CACHED_CONTAINER |
Class to store VERTEX instances with caching. More... | |
class | CACHED_CONTAINER_GPU |
Specialization of CACHED_CONTAINER that stores data in video memory via memory mapping. More... | |
class | CACHED_CONTAINER_RAM |
Specialization of CACHED_CONTAINER that stores data in RAM. More... | |
class | CAIRO_COMPOSITOR |
class | CAIRO_GAL |
class | CAIRO_GAL_BASE |
class | CAIRO_PRINT_CTX |
Provide a Cairo context created from wxPrintDC. More... | |
class | CAIRO_PRINT_GAL |
class | COLOR4D |
A color representation with 4 components: red, green, blue, alpha. More... | |
class | COMPOSITOR |
class | CONSTANT_ZOOM_CONTROLLER |
A CONSTANT_ZOOM_CONTROLLER that zooms by a fixed factor based only on the magnitude of the scroll wheel rotation. More... | |
class | DS_PAINTER |
Methods for painting drawing sheet items. More... | |
class | DS_RENDER_SETTINGS |
Store page-layout-specific render settings. More... | |
class | GAL |
Abstract interface for drawing on a 2D-surface. More... | |
class | GAL_CONTEXT_LOCKER |
class | GAL_DISPLAY_OPTIONS |
class | GAL_DISPLAY_OPTIONS_OBSERVER |
class | GAL_DRAWING_CONTEXT |
class | GAL_PRINT |
Wrapper around GAL to provide information needed for printing. More... | |
class | GAL_UPDATE_CONTEXT |
class | GERBVIEW_PAINTER |
Methods for drawing GerbView specific items. More... | |
class | GERBVIEW_RENDER_SETTINGS |
Store GerbView specific render settings. More... | |
class | GL_BITMAP_CACHE |
class | GPU_CACHED_MANAGER |
class | GPU_MANAGER |
Class to handle uploading vertices and indices to GPU in drawing purposes. More... | |
class | GPU_NONCACHED_MANAGER |
class | NONCACHED_CONTAINER |
class | OPENGL_COMPOSITOR |
class | OPENGL_GAL |
OpenGL implementation of the Graphics Abstraction Layer. More... | |
class | OPENGL_PRESENTOR |
class | ORIGIN_VIEWITEM |
class | PAINTER |
Contains all the knowledge about how to draw graphical object onto any particular output device. More... | |
class | PCB_PAINTER |
Contains methods for drawing PCB-specific items. More... | |
class | PCB_PRINT_PAINTER |
Special flavor of PCB_PAINTER that contains modifications to handle printing options. More... | |
class | PCB_RENDER_SETTINGS |
PCB specific render settings. More... | |
class | PCB_VIEW |
class | PRINT_CONTEXT |
struct | QUERY_VISITOR |
class | RENDER_SETTINGS |
Container for all the knowledge about how graphical objects are drawn on any output surface/device. More... | |
class | SCH_PAINTER |
Contains methods for drawing schematic-specific items. More... | |
class | SCH_RENDER_SETTINGS |
Store schematic specific render settings. More... | |
class | SCH_VIEW |
class | SHADER |
Provide the access to the OpenGL shaders. More... | |
struct | VC_SETTINGS |
Structure to keep VIEW_CONTROLS settings for easy store/restore operations. More... | |
struct | VERTEX |
class | VERTEX_CONTAINER |
class | VERTEX_ITEM |
class | VERTEX_MANAGER |
Class to control vertex container and GPU with possibility of emulating old-style OpenGL 1.0 state machine using modern OpenGL methods. More... | |
class | VIEW |
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the GAL. More... | |
class | VIEW_CONTROLS |
An interface for classes handling user events controlling the view behavior such as zooming, panning, mouse grab, etc. More... | |
class | VIEW_GROUP |
Extend VIEW_ITEM by possibility of grouping items into a single object. More... | |
class | VIEW_ITEM |
An abstract base class for deriving all objects that can be added to a VIEW. More... | |
class | VIEW_ITEM_DATA |
class | VIEW_OVERLAY |
class | VIEW_RTREE |
Implement an non-owning R-tree for fast spatial indexing of VIEW items. More... | |
class | WX_VIEW_CONTROLS |
An implementation of class VIEW_CONTROLS for wxWidgets library. More... | |
class | ZOOM_CONTROLLER |
Handle the response of the zoom scale to external inputs. More... | |
Typedefs | |
typedef RTree< VIEW_ITEM *, int, 2, double > | VIEW_RTREE_BASE |
Enumerations | |
enum | RENDER_TARGET { TARGET_CACHED = 0 , TARGET_NONCACHED , TARGET_OVERLAY , TARGET_TEMP , TARGETS_NUMBER } |
RENDER_TARGET: Possible rendering targets. More... | |
enum class | GRID_STYLE { DOTS , LINES , SMALL_CROSS } |
GRID_STYLE: Type definition of the grid style. More... | |
enum class | OPENGL_ANTIALIASING_MODE { NONE , SMAA , SUPERSAMPLING } |
enum class | CAIRO_ANTIALIASING_MODE { NONE , FAST , GOOD } |
enum class | GRID_SNAPPING { ALWAYS , WITH_GRID , NEVER } |
enum | SHADER_TYPE { SHADER_TYPE_VERTEX = GL_VERTEX_SHADER , SHADER_TYPE_FRAGMENT = GL_FRAGMENT_SHADER , SHADER_TYPE_GEOMETRY = GL_GEOMETRY_SHADER } |
Type definition for the shader. More... | |
enum | SHADER_MODE { SHADER_NONE = 0 , SHADER_FILLED_CIRCLE = 2 , SHADER_STROKED_CIRCLE = 3 , SHADER_FONT = 4 , SHADER_LINE_A = 5 , SHADER_LINE_B = 6 , SHADER_LINE_C = 7 , SHADER_LINE_D = 8 , SHADER_LINE_E = 9 , SHADER_LINE_F = 10 } |
< Possible types of shaders (keep consistent with the actual shader source in kicad_vert.glsl and kicad_frag.glsl). More... | |
enum | VIEW_UPDATE_FLAGS { NONE = 0x00 , APPEARANCE = 0x01 , COLOR = 0x02 , GEOMETRY = 0x04 , LAYERS = 0x08 , INITIAL_ADD = 0x10 , REPAINT = 0x20 , ALL = 0xef } |
Define the how severely the appearance of the item has been changed. More... | |
enum | VIEW_VISIBILITY_FLAGS { VISIBLE = 0x01 , HIDDEN = 0x02 } |
Define the visibility of the item (temporarily hidden, invisible, etc). More... | |
Functions | |
bool | operator== (const COLOR4D &lhs, const COLOR4D &rhs) |
Equality operator, are two colors equal. More... | |
bool | operator!= (const COLOR4D &lhs, const COLOR4D &rhs) |
Not equality operator, are two colors not equal. More... | |
bool | operator< (const COLOR4D &lhs, const COLOR4D &rhs) |
std::ostream & | operator<< (std::ostream &aStream, COLOR4D const &aColor) |
Syntactic sugar for outputting colors to strings. More... | |
void | to_json (nlohmann::json &aJson, const COLOR4D &aColor) |
void | from_json (const nlohmann::json &aJson, COLOR4D &aColor) |
EESCHEMA_SETTINGS * | eeconfig () |
static LIB_SYMBOL * | dummy () |
Used when a LIB_SYMBOL is not found in library to draw a dummy shape. More... | |
static VECTOR2D | mapCoords (const VECTOR2D &aCoord) |
static bool | isFieldsLayer (int aLayer) |
static void | orientSymbol (LIB_SYMBOL *symbol, int orientation) |
Variables | |
static constexpr size_t | VERTEX_SIZE = sizeof(VERTEX) |
static constexpr size_t | VERTEX_STRIDE = VERTEX_SIZE / sizeof(GLfloat) |
static constexpr size_t | COORD_OFFSET = offsetof(VERTEX, x) |
static constexpr size_t | COORD_SIZE = sizeof(VERTEX::x) + sizeof(VERTEX::y) + sizeof(VERTEX::z) |
static constexpr size_t | COORD_STRIDE = COORD_SIZE / sizeof(GLfloat) |
static constexpr size_t | COLOR_OFFSET = offsetof(VERTEX, r) |
static constexpr size_t | COLOR_SIZE = sizeof(VERTEX::r) + sizeof(VERTEX::g) + sizeof(VERTEX::b) + sizeof(VERTEX::a) |
static constexpr size_t | COLOR_STRIDE = COLOR_SIZE / sizeof(GLubyte) |
static constexpr size_t | SHADER_OFFSET = offsetof(VERTEX, shader) |
static constexpr size_t | SHADER_SIZE = sizeof(VERTEX::shader) |
static constexpr size_t | SHADER_STRIDE = SHADER_SIZE / sizeof(GLfloat) |
static constexpr size_t | INDEX_SIZE = sizeof(GLuint) |
The Cairo implementation of the graphics abstraction layer.
View item to draw an origin marker.
Quote from Wikipedia: " Cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends. "
Cairo offers also backends for PostScript and PDF surfaces. So it can be used for printing of KiCad graphics surfaces as well.
typedef RTree<VIEW_ITEM*, int, 2, double> KIGFX::VIEW_RTREE_BASE |
Definition at line 36 of file view_rtree.h.
|
strong |
Enumerator | |
---|---|
NONE | |
FAST | |
GOOD |
Definition at line 55 of file gal_display_options.h.
|
strong |
Enumerator | |
---|---|
ALWAYS | |
WITH_GRID | |
NEVER |
Definition at line 62 of file gal_display_options.h.
|
strong |
GRID_STYLE: Type definition of the grid style.
Enumerator | |
---|---|
DOTS | Use dots for the grid. |
LINES | Use lines for the grid. |
SMALL_CROSS | Use small cross instead of dots for the grid. |
Definition at line 41 of file gal_display_options.h.
|
strong |
Enumerator | |
---|---|
NONE | |
SMAA | |
SUPERSAMPLING |
Definition at line 48 of file gal_display_options.h.
enum KIGFX::RENDER_TARGET |
RENDER_TARGET: Possible rendering targets.
Definition at line 46 of file definitions.h.
enum KIGFX::SHADER_MODE |
< Possible types of shaders (keep consistent with the actual shader source in kicad_vert.glsl and kicad_frag.glsl).
Enumerator | |
---|---|
SHADER_NONE | |
SHADER_FILLED_CIRCLE | |
SHADER_STROKED_CIRCLE | |
SHADER_FONT | |
SHADER_LINE_A | |
SHADER_LINE_B | |
SHADER_LINE_C | |
SHADER_LINE_D | |
SHADER_LINE_E | |
SHADER_LINE_F |
Definition at line 45 of file vertex_common.h.
enum KIGFX::SHADER_TYPE |
Define the how severely the appearance of the item has been changed.
Definition at line 45 of file view_item.h.
Define the visibility of the item (temporarily hidden, invisible, etc).
Enumerator | |
---|---|
VISIBLE | Item is visible (in general) |
HIDDEN | Item is temporarily hidden (e.g. being used by a tool). Overrides VISIBLE flag. |
Definition at line 59 of file view_item.h.
|
static |
Used when a LIB_SYMBOL is not found in library to draw a dummy shape.
This symbol is a 400 mils square with the text "??"
DEF DUMMY U 0 40 Y Y 1 0 N F0 "U" 0 -350 60 H V F1 "DUMMY" 0 350 60 H V DRAW T 0 0 0 150 0 0 0 ?? S -200 200 200 -200 0 1 0 ENDDRAW ENDDEF
Definition at line 159 of file sch_painter.cpp.
References LIB_SYMBOL::AddDrawItem(), EDA_IU_SCALE::MilsToIU(), schIUScale, square(), and text.
Referenced by KIGFX::VIEW_CONTROLS::Reset().
EESCHEMA_SETTINGS * KIGFX::eeconfig | ( | ) |
Definition at line 75 of file sch_painter.cpp.
References Kiface(), and KIFACE_BASE::KifaceSettings().
Referenced by KIGFX::SCH_PAINTER::boxText(), KIGFX::SCH_PAINTER::draw(), KIGFX::SCH_PAINTER::getShadowWidth(), KIGFX::SCH_RENDER_SETTINGS::GetShowPageLimits(), KIGFX::SCH_PAINTER::knockoutText(), and KIGFX::SCH_PAINTER::strokeText().
void KIGFX::from_json | ( | const nlohmann::json & | aJson, |
COLOR4D & | aColor | ||
) |
Definition at line 287 of file color4d.cpp.
References KIGFX::COLOR4D::SetFromWxString().
|
static |
Definition at line 593 of file sch_painter.cpp.
References isFieldsLayer(), LAYER_FIELDS, LAYER_INTERSHEET_REFS, LAYER_NETCLASS_REFS, LAYER_REFERENCEPART, LAYER_SHEETFIELDS, LAYER_SHEETFILENAME, LAYER_SHEETNAME, and LAYER_VALUEPART.
Referenced by KIGFX::SCH_PAINTER::draw(), and isFieldsLayer().
Definition at line 587 of file sch_painter.cpp.
References VECTOR2< T >::x, and VECTOR2< T >::y.
Not equality operator, are two colors not equal.
Definition at line 254 of file color4d.cpp.
Definition at line 260 of file color4d.cpp.
References KIGFX::COLOR4D::a, KIGFX::COLOR4D::b, KIGFX::COLOR4D::g, and KIGFX::COLOR4D::r.
std::ostream & KIGFX::operator<< | ( | std::ostream & | aStream, |
COLOR4D const & | aColor | ||
) |
Syntactic sugar for outputting colors to strings.
Definition at line 275 of file color4d.cpp.
References KIGFX::COLOR4D::ToCSSString().
Equality operator, are two colors equal.
Definition at line 248 of file color4d.cpp.
References KIGFX::COLOR4D::a, KIGFX::COLOR4D::b, KIGFX::COLOR4D::g, and KIGFX::COLOR4D::r.
|
static |
Definition at line 2297 of file sch_painter.cpp.
References flag, LIB_SYMBOL::GetDrawItems(), orientSymbol(), SYM_MIRROR_X, SYM_MIRROR_Y, SYM_ORIENT_0, SYM_ORIENT_180, SYM_ORIENT_270, and SYM_ORIENT_90.
Referenced by KIGFX::SCH_PAINTER::draw(), and orientSymbol().
void KIGFX::to_json | ( | nlohmann::json & | aJson, |
const COLOR4D & | aColor | ||
) |
Definition at line 281 of file color4d.cpp.
References KIGFX::COLOR4D::ToCSSString().
|
staticconstexpr |
Definition at line 74 of file vertex_common.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::EndDrawing(), and KIGFX::GPU_NONCACHED_MANAGER::EndDrawing().
|
staticconstexpr |
Definition at line 75 of file vertex_common.h.
|
staticconstexpr |
Definition at line 76 of file vertex_common.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::EndDrawing(), and KIGFX::GPU_NONCACHED_MANAGER::EndDrawing().
|
staticconstexpr |
Definition at line 70 of file vertex_common.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::EndDrawing().
|
staticconstexpr |
Definition at line 71 of file vertex_common.h.
|
staticconstexpr |
Definition at line 72 of file vertex_common.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::EndDrawing(), and KIGFX::GPU_NONCACHED_MANAGER::EndDrawing().
|
staticconstexpr |
Definition at line 83 of file vertex_common.h.
|
staticconstexpr |
Definition at line 79 of file vertex_common.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::EndDrawing(), and KIGFX::GPU_NONCACHED_MANAGER::EndDrawing().
|
staticconstexpr |
Definition at line 80 of file vertex_common.h.
|
staticconstexpr |
Definition at line 81 of file vertex_common.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::EndDrawing(), KIGFX::GPU_NONCACHED_MANAGER::EndDrawing(), KIGFX::VERTEX_MANAGER::putVertex(), and KIGFX::VERTEX_MANAGER::VERTEX_MANAGER().
|
staticconstexpr |
Definition at line 67 of file vertex_common.h.
Referenced by KIGFX::CACHED_CONTAINER_GPU::CACHED_CONTAINER_GPU(), KIGFX::CACHED_CONTAINER_RAM::CACHED_CONTAINER_RAM(), KIGFX::CACHED_CONTAINER::defragment(), KIGFX::CACHED_CONTAINER_GPU::defragmentResize(), KIGFX::CACHED_CONTAINER_RAM::defragmentResize(), KIGFX::CACHED_CONTAINER_GPU::defragmentResizeMemcpy(), KIGFX::GPU_CACHED_MANAGER::EndDrawing(), KIGFX::GPU_NONCACHED_MANAGER::EndDrawing(), KIGFX::CACHED_CONTAINER::reallocate(), and KIGFX::CACHED_CONTAINER_RAM::Unmap().
|
staticconstexpr |
Definition at line 68 of file vertex_common.h.