1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
|
.. wxPython Phoenix documentation
This file was generated by Phoenix's sphinx generator and associated
tools, do not edit by hand.
Copyright: (c) 2011-2020 by Total Control Software
License: wxWindows License
.. include:: headings.inc
.. currentmodule:: wx.lib.floatcanvas.FCObjects
.. highlight:: python
.. _wx.lib.floatcanvas.FCObjects.ScaledTextBox:
==========================================================================================================================================
|phoenix_title| **wx.lib.floatcanvas.FCObjects.ScaledTextBox**
==========================================================================================================================================
Draws a text object
The object is scaled when zoomed.
The hit-test is done on the entire text extent
Bugs/Limitations:
As fonts are scaled, they do end up a little different, so you don't
get exactly the same picture as you scale up and down, but it's
pretty darn close.
On wxGTK1 on my Linux system, at least, using a font of over about
1000 pts. brings the system to a halt. It's the Font Server using
huge amounts of memory. My work around is to max the font size to
1000 points, so it won't scale past there. GTK2 uses smarter font
drawing, so that may not be an issue in future versions, so feel
free to test. Another smarter way to do it would be to set a global
zoom limit at that point.
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html
<div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
<img id="toggleBlock-trigger" src="_static/images/closed.png"/>
Inheritance diagram for class <strong>ScaledTextBox</strong>:
</div>
<div id="toggleBlock-summary" style="display:block;"></div>
<div id="toggleBlock-content" style="display:none;">
<p class="graphviz">
<center><img src="_static/images/inheritance/wx.lib.floatcanvas.FCObjects.ScaledTextBox_inheritance.png" alt="Inheritance diagram of ScaledTextBox" usemap="#dummy" class="inheritance"/></center>
<script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
<map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.floatcanvas.FCObjects.ScaledTextBox.html" title="wx.lib.floatcanvas.FCObjects.ScaledTextBox" alt="" coords="174,160,482,189"/> <area shape="rect" id="node2" href="wx.lib.floatcanvas.FCObjects.TextObjectMixin.html" title="wx.lib.floatcanvas.FCObjects.TextObjectMixin" alt="" coords="5,83,323,112"/> <area shape="rect" id="node3" href="wx.lib.floatcanvas.FCObjects.DrawObject.html" title="wx.lib.floatcanvas.FCObjects.DrawObject" alt="" coords="347,83,637,112"/> <area shape="rect" id="node4" href="wx.lib.floatcanvas.FCObjects.XYObjectMixin.html" title="wx.lib.floatcanvas.FCObjects.XYObjectMixin" alt="" coords="11,5,317,35"/> </map>
</p>
</div>
|
|super_classes| Known Superclasses
==================================
:class:`wx.lib.floatcanvas.FCObjects.DrawObject`, :class:`wx.lib.floatcanvas.FCObjects.TextObjectMixin`
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.lib.floatcanvas.FCObjects.ScaledTextBox.__init__` Default class constructor.
:meth:`~wx.lib.floatcanvas.FCObjects.ScaledTextBox.CalcBoundingBox` Calculates the Bounding Box
:meth:`~wx.lib.floatcanvas.FCObjects.ScaledTextBox.GetBoxRect`
:meth:`~wx.lib.floatcanvas.FCObjects.ScaledTextBox.LayoutText` Calculates the positions of the words of text.
:meth:`~wx.lib.floatcanvas.FCObjects.ScaledTextBox.ReWrap`
:meth:`~wx.lib.floatcanvas.FCObjects.ScaledTextBox.WrapToWidth`
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: ScaledTextBox(TextObjectMixin, DrawObject)
Draws a text object
The object is scaled when zoomed.
The hit-test is done on the entire text extent
Bugs/Limitations:
As fonts are scaled, they do end up a little different, so you don't
get exactly the same picture as you scale up and down, but it's
pretty darn close.
On wxGTK1 on my Linux system, at least, using a font of over about
1000 pts. brings the system to a halt. It's the Font Server using
huge amounts of memory. My work around is to max the font size to
1000 points, so it won't scale past there. GTK2 uses smarter font
drawing, so that may not be an issue in future versions, so feel
free to test. Another smarter way to do it would be to set a global
zoom limit at that point.
.. method:: __init__(self, String, Point, Size, Color = "Black", BackgroundColor = None, LineColor = 'Black', LineStyle = 'Solid', LineWidth = 1, Width = None, PadSize = None, Family = wx.FONTFAMILY_MODERN, Style = wx.FONTSTYLE_NORMAL, Weight = wx.FONTWEIGHT_NORMAL, Underlined = False, Position = 'tl', Alignment = "left", Font = None, LineSpacing = 1.0, InForeground = False)
Default class constructor.
:param `Point`: takes a 2-tuple, or a (2,) `NumPy <http://www.numpy.org/>`_
array of point coordinates
:param integer `Size`: size in World units
:param `Color`: see :meth:`~lib.floatcanvas.FloatCanvas.DrawObject.SetColor`
:param `BackgroundColor`: see :meth:`~lib.floatcanvas.FloatCanvas.DrawObject.SetColor`
:param `LineColor`: see :meth:`~lib.floatcanvas.FloatCanvas.DrawObject.SetColor`
:param `LineWidth`: see :meth:`~lib.floatcanvas.FloatCanvas.DrawObject.SetLineWidth`
:param `Width`: width in pixels or ``None``, text will be wrapped to
the given width.
:param `PadSize`: padding in world units or ``None``, if specified it
will creating a space (margin) around the text
:param wx.FontFamily `Family`: a valid :ref:`wx.FontFamily`
:param wx.FontStyle `Style`: a valid :ref:`wx.FontStyle`
:param wx.FontWeight `Weight`: a valid :ref:`wx.FontWeight`
:param boolean `Underlined`: underline the text
:param string `Position`: a two character string indicating where in
relation to the coordinates the box should be oriented
============== ==========================
1st character Meaning
============== ==========================
``t`` top
``c`` center
``b`` bottom
============== ==========================
============== ==========================
2nd character Meaning
============== ==========================
``l`` left
``c`` center
``r`` right
============== ==========================
:param `Alignment`: see :meth:`~lib.floatcanvas.FloatCanvas.DrawObject.SetLineWidth`
:param wx.Font `Font`: alternatively a valid :class:`wx.Font` can be defined
in which case the above will be ignored
:param float `LineSpacing`: the line space to be used
:param boolean `InForeground`: should object be in foreground
.. method:: CalcBoundingBox(self)
Calculates the Bounding Box
.. method:: GetBoxRect(self)
.. method:: LayoutText(self)
Calculates the positions of the words of text.
This isn't exact, as fonts don't scale exactly.
To help this, the position of each individual word
is stored separately, so that the general layout stays
the same in world coordinates, as the fonts scale.
.. method:: ReWrap(self, Width)
.. method:: WrapToWidth(self)
|