CAF API tests: size and bitmapSize propertyΒΆ

Obviously, we need to import bar module

>>> import bar

Let’s create an exemplary CAF slide with default settings

>>> slide = bar.barCafSlide()

We can read the dimensions of the SVG drawing representing CAF slide

>>> slide.size  
(1200, 900)

Size is provided as tuple of two Intergers

>>> map(type, slide.size) == map(type, (1,1))
True

Also the rendering size of the slide (which is not the same property as dimensions of the CAF slide) can be set

>>> slide.bitmapSize 
(1200, 900)
>>> map(type, slide.bitmapSize) == map(type, (1,1))
True

Size, as well as bitmapsize can be altered. Only tuple of two integers is accepted as new value Altering slide dimensions:

>>> slide.size = (1000, 500)
>>> slide.size
(1000, 500)
>>> slide.size = ("1000", 500)
Traceback (most recent call last):
AssertionError: (int,int) Tuple of two integers required

>>> slide.bitmapSize = 'invalid slide dimensions'
Traceback (most recent call last):
AssertionError: (int,int) Tuple of two integers required

Size and bitmap size are related with some internal properies that can be edited by advanded user to better customize the slides. Changing the slide size alters the slide template as well as tracing and rendering properties

>>> slide._rendererConf
{'ReferenceHeight': 500, 'ReferenceWidth': 1000, 'imageSize': (1200, 900)}
>>> slide._tracingConf 

Changing the slide size alters the slide template as well as tracing and rendering properties

>>> slide.size = (1000,500)
>>> slide.bitmapSize = (2000, 1000)
>>> slide._rendererConf
{'ReferenceHeight': 500, 'ReferenceWidth': 1000, 'imageSize': (2000, 1000)}

Slide with customized size can be obviously saved to and loaded from XML file:

>>> from xml.dom import minidom as dom
>>> slide.writeXMLtoFile('testSlide.svg')
>>> testSlide = bar.barCafSlide.fromXML('testSlide.svg')
>>> testSlide._rendererConf
{'ReferenceHeight': 500, 'ReferenceWidth': 1000, 'imageSize': (2000, 1000)}

All slide size settings are preserved:

>>> testSlide.size
(1000, 500)
>>> slide.bitmapSize
(2000, 1000)

Just remove the temporary file containing test slide.

>>> import os
>>> os.remove('testSlide.svg')

Previous topic

CAF API tests: barMarker class and its subclasses

This Page