X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1fded56b375bf7a4687af1cdb182899614c1b2a8..dd2422b32018abf7bca2b8da438e4ef941b174d2:/wxPython/demo/FancyText.py diff --git a/wxPython/demo/FancyText.py b/wxPython/demo/FancyText.py index 959a0dd1b5..b7c954c276 100644 --- a/wxPython/demo/FancyText.py +++ b/wxPython/demo/FancyText.py @@ -1,6 +1,6 @@ - -from wxPython.wx import * -from wxPython.lib import fancytext + +import wx +import wx.lib.fancytext as fancytext #---------------------------------------------------------------------- @@ -11,19 +11,18 @@ test_str = ('<font style="italic" family="swiss" color="red" weight="bold" >' test_str2 = '<font family="swiss" color="dark green" size="40">big green text</font>' -class TestPanel(wxPanel): +class TestPanel(wx.Panel): def __init__(self, parent): - wxPanel.__init__(self, parent, -1) - EVT_PAINT(self, self.OnPaint) - + wx.Panel.__init__(self, parent, -1) + self.Bind(wx.EVT_PAINT, self.OnPaint) def OnPaint(self, evt): - dc = wxPaintDC(self) + dc = wx.PaintDC(self) - sz = fancytext.getExtent(test_str, dc) - fancytext.renderToDC(test_str, dc, 20, 20) + w, h = fancytext.GetExtent(test_str, dc) + fancytext.RenderToDC(test_str, dc, 20, 20) - fancytext.renderToDC(test_str2, dc, 20, 20 + sz.height + 10) + fancytext.RenderToDC(test_str2, dc, 20, 20 + h + 10) #---------------------------------------------------------------------- @@ -36,13 +35,48 @@ def runTest(frame, nb, log): -overview = fancytext.__doc__.replace("<", "<") +overview = \ +""" +<html> +<body> +<h1>FancyText -- <i>methods for rendering XML specified text</i></h1> + +<p>This module exports four main methods:: +<pre> + def GetExtent(str, dc=None, enclose=True) + def GetFullExtent(str, dc=None, enclose=True) + def RenderToBitmap(str, background=None, enclose=True) + def RenderToDC(str, dc, x, y, enclose=True) +</pre> + +In all cases, 'str' is an XML string. Note that start and end tags +are only required if *enclose* is set to False. In this case the +text should be wrapped in FancyText tags. + +<p>In addition, the module exports one class:: +<pre> + class StaticFancyText(self, window, id, text, background, ...) +</pre> +This class works similar to StaticText except it interprets its text +as FancyText. + +<p>The text can support<sup>superscripts</sup> and <sub>subscripts</sub>, text +in different <font size="+3">sizes</font>, <font color="blue">colors</font>, +<i>styles</i>, <b>weights</b> and +<font family="script">families</font>. It also supports a limited set of symbols, +currently <times/>, <infinity/>, <angle/> as well as greek letters in both +upper case (<Alpha/><Beta/>...<Omega/>) and lower case (<alpha/><beta/>...<omega/>). +</font></font> +The End +</body> +</html> +""" if __name__ == '__main__': import sys,os import run - run.main(['', os.path.basename(sys.argv[0])]) + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])