Module: Sevgi::Graphics
- Extended by:
- Graphics
- Included in:
- Graphics
- Defined in:
- lib/sevgi/graphics.rb,
lib/sevgi/graphics/xml.rb,
lib/sevgi/graphics/element.rb,
lib/sevgi/graphics/version.rb,
lib/sevgi/graphics/document.rb,
lib/sevgi/graphics/mixtures.rb,
lib/sevgi/graphics/attribute.rb,
lib/sevgi/graphics/mixtures/rdf.rb,
lib/sevgi/graphics/document/base.rb,
lib/sevgi/graphics/document/html.rb,
lib/sevgi/graphics/mixtures/call.rb,
lib/sevgi/graphics/mixtures/core.rb,
lib/sevgi/graphics/mixtures/lint.rb,
lib/sevgi/graphics/mixtures/save.rb,
lib/sevgi/graphics/mixtures/tile.rb,
lib/sevgi/graphics/mixtures/hatch.rb,
lib/sevgi/graphics/auxiliary/paper.rb,
lib/sevgi/graphics/auxiliary/sizes.rb,
lib/sevgi/graphics/mixtures/export.rb,
lib/sevgi/graphics/mixtures/render.rb,
lib/sevgi/graphics/auxiliary/canvas.rb,
lib/sevgi/graphics/auxiliary/margin.rb,
lib/sevgi/graphics/auxiliary/scalar.rb,
lib/sevgi/graphics/document/default.rb,
lib/sevgi/graphics/document/minimal.rb,
lib/sevgi/graphics/mixtures/include.rb,
lib/sevgi/graphics/mixtures/symbols.rb,
lib/sevgi/graphics/auxiliary/content.rb,
lib/sevgi/graphics/document/inkscape.rb,
lib/sevgi/graphics/mixtures/identify.rb,
lib/sevgi/graphics/mixtures/inkscape.rb,
lib/sevgi/graphics/mixtures/validate.rb,
lib/sevgi/graphics/mixtures/wrappers.rb,
lib/sevgi/graphics/mixtures/duplicate.rb,
lib/sevgi/graphics/mixtures/polyfills.rb,
lib/sevgi/graphics/mixtures/transform.rb,
lib/sevgi/graphics/mixtures/underscore.rb
Overview
SVG document builder and DSL namespace.
Defined Under Namespace
Modules: Attribute, Document, Mixtures, Module Classes: Canvas, Content, Element, Margin, Paper
Constant Summary collapse
- VERSION =
Current graphics component version.
"0.95.0"- ATTRIBUTE_INTERNAL_PREFIX =
Internal store syntax; not part of the SVG DSL command surface.
"-"- ATTRIBUTE_UPDATE_SUFFIX =
Attribute suffix that merges new values into an existing attribute.
"+"- Attributes =
Public alias for the SVG attribute store.
Attribute::Store
- LintError =
Raised when graphics lint checks fail.
Class.new(Error)
Instance Method Summary collapse
-
#canvas(arg = Undefined, **kwargs) ⇒ Sevgi::Graphics::Canvas
Builds a canvas from a paper profile or explicit size.
-
#document(name = Undefined, preambles: Undefined, attributes: Undefined) ⇒ Class
Document class.
-
#document!(name, preambles: [], attributes: {}) ⇒ Class
Defines or replaces a document profile class.
-
#paper(width, height, name = :custom, unit: "mm") ⇒ Symbol, String
Defines a paper profile unless the same profile already exists.
-
#paper!(width, height, name = :custom, unit: "mm") ⇒ Symbol, String
Defines or replaces a paper profile.
-
#SVG(document = :default, canvas = Undefined) { ... } ⇒ Sevgi::Graphics::Document::Proto
Builds an SVG root document.
Instance Method Details
#canvas(arg = Undefined, **kwargs) ⇒ Sevgi::Graphics::Canvas
24 25 26 |
# File 'lib/sevgi/graphics.rb', line 24 def canvas(...) Graphics::Canvas.from_paper(...) end |
#document(name) ⇒ Class #document(name, preambles: Undefined, attributes: Undefined) ⇒ Class #document(preambles: Undefined, attributes: Undefined) ⇒ Class
Returns document class.
51 52 53 |
# File 'lib/sevgi/graphics.rb', line 51 def document(name = Undefined, preambles: Undefined, attributes: Undefined) Graphics::Document.define(name, preambles:, attributes:) end |
#document!(name, preambles: [], attributes: {}) ⇒ Class
Defines or replaces a document profile class. Validation and snapshot capture complete before an existing registration is atomically replaced.
62 63 64 |
# File 'lib/sevgi/graphics.rb', line 62 def document!(name, preambles: [], attributes: {}) Graphics::Document.define(name, preambles:, attributes:, overwrite: true) end |
#paper(width, height, name = :custom, unit: "mm") ⇒ Symbol, String
Defines a paper profile unless the same profile already exists. Registration is process-global and thread-atomic; an identical concurrent definition is idempotent and a conflicting definition is rejected.
74 75 76 77 78 |
# File 'lib/sevgi/graphics.rb', line 74 def paper(width, height, name = :custom, unit: "mm") Graphics::Paper.define(name, width:, height:, unit:, overwrite: false) name end |
#paper!(width, height, name = :custom, unit: "mm") ⇒ Symbol, String
Defines or replaces a paper profile.
87 88 89 |
# File 'lib/sevgi/graphics.rb', line 87 def paper!(width, height, name = :custom, unit: "mm") name.tap { Graphics::Paper.define(name, width:, height:, unit:) } end |
#SVG(document = :default, canvas = Undefined) { ... } ⇒ Sevgi::Graphics::Document::Proto
Builds an SVG root document.
98 99 100 |
# File 'lib/sevgi/graphics.rb', line 98 def SVG(document = :default, canvas = Undefined, **, &block) Graphics::Document.(document, canvas, **, &block) end |