Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/python/api2_2x/doc/Draw.py')
-rw-r--r--source/blender/python/api2_2x/doc/Draw.py880
1 files changed, 0 insertions, 880 deletions
diff --git a/source/blender/python/api2_2x/doc/Draw.py b/source/blender/python/api2_2x/doc/Draw.py
deleted file mode 100644
index 9b6f29b6b51..00000000000
--- a/source/blender/python/api2_2x/doc/Draw.py
+++ /dev/null
@@ -1,880 +0,0 @@
-# Blender.Draw module and the Button PyType object
-
-"""
-The Blender.Draw submodule.
-
-Draw
-====
-
-B{New}:
- - access to ASCII values in L{events<Register>} callbacks;
- - 'large' fonts for L{Text} and L{GetStringWidth}.
- - Pop-up blocks with L{PupBlock}
- - Color Picker button with L{ColorPicker}
-
-This module provides access to a B{windowing interface} in Blender. Its widgets
-include many kinds of buttons: push, toggle, menu, number, string, slider,
-scrollbar, plus support for text drawing. It also includes keyboard keys and
-mouse button code values in its dictionary, see a list after this example.
-
-Example::
- import Blender
- from Blender import Draw, BGL
-
- mystring = ""
- mymsg = ""
- toggle = 0
-
- def event(evt, val): # the function to handle input events
- global mystring, mymsg
-
- if not val: # val = 0: it's a key/mbutton release
- if evt in [Draw.LEFTMOUSE, Draw.MIDDLEMOUSE, Draw.RIGHTMOUSE]:
- mymsg = "You released a mouse button."
- Draw.Redraw(1)
- return
-
- if evt == Draw.ESCKEY:
- Draw.Exit() # exit when user presses ESC
- return
-
- elif Draw.AKEY <= evt <= Draw.ZKEY: mystring += chr(evt)
- elif evt == Draw.SPACEKEY: mystring += ' '
- elif evt == Draw.BACKSPACEKEY and len(mystring):
- mystring = mystring[:-1]
- else: return # no need to redraw if nothing changed
-
- Draw.Redraw(1)
-
- def button_event(evt): # the function to handle Draw Button events
- global mymsg, toggle
- if evt == 1:
- mymsg = "You pressed the toggle button."
- toggle = 1 - toggle
- Draw.Redraw(1)
-
- def gui(): # the function to draw the screen
- global mystring, mymsg, toggle
- if len(mystring) > 90: mystring = ""
- BGL.glClearColor(0,0,1,1)
- BGL.glClear(BGL.GL_COLOR_BUFFER_BIT)
- BGL.glColor3f(1,1,1)
- Draw.Toggle("Toggle", 1, 10, 10, 55, 20, toggle,"A toggle button")
- BGL.glRasterPos2i(72, 16)
- if toggle: toggle_state = "down"
- else: toggle_state = "up"
- Draw.Text("The toggle button is %s." % toggle_state, "small")
- BGL.glRasterPos2i(10, 230)
- Draw.Text("Type letters from a to z, ESC to leave.")
- BGL.glRasterPos2i(20, 200)
- Draw.Text(mystring)
- BGL.glColor3f(1,0.4,0.3)
- BGL.glRasterPos2i(340, 70)
- Draw.Text(mymsg, "tiny")
-
- Draw.Register(gui, event, button_event) # registering the 3 callbacks
-
-All available events:
- - ACCENTGRAVEKEY
- - AKEY
- - BACKSLASHKEY
- - BACKSPACEKEY
- - BKEY
- - CAPSLOCKKEY
- - CKEY
- - COMMAKEY
- - DELKEY
- - DKEY
- - DOWNARROWKEY
- - EIGHTKEY
- - EKEY
- - ENDKEY
- - EQUALKEY
- - ESCKEY
- - F10KEY
- - F11KEY
- - F12KEY
- - F1KEY
- - F2KEY
- - F3KEY
- - F4KEY
- - F5KEY
- - F6KEY
- - F7KEY
- - F8KEY
- - F9KEY
- - FIVEKEY
- - FKEY
- - FOURKEY
- - GKEY
- - HKEY
- - HOMEKEY
- - IKEY
- - INPUTCHANGE
- - INSERTKEY
- - JKEY
- - KEYBD
- - KKEY
- - LEFTALTKEY
- - LEFTARROWKEY
- - LEFTBRACKETKEY
- - LEFTCTRLKEY
- - LEFTMOUSE
- - LEFTSHIFTKEY
- - LINEFEEDKEY
- - LKEY
- - MIDDLEMOUSE
- - MINUSKEY
- - MKEY
- - MOUSEX
- - MOUSEY
- - NINEKEY
- - NKEY
- - OKEY
- - ONEKEY
- - PAD0
- - PAD1
- - PAD2
- - PAD3
- - PAD4
- - PAD5
- - PAD6
- - PAD7
- - PAD8
- - PAD9
- - PADASTERKEY
- - PADENTER
- - PADMINUS
- - PADPERIOD
- - PADPLUSKEY
- - PADSLASHKEY
- - PAGEDOWNKEY
- - PAGEUPKEY
- - PAUSEKEY
- - PERIODKEY
- - PKEY
- - QFULL
- - QKEY
- - QUOTEKEY
- - Q_FIRSTTIME
- - RAWKEYBD
- - REDRAW
- - RETKEY
- - RIGHTALTKEY
- - RIGHTARROWKEY
- - RIGHTBRACKETKEY
- - RIGHTCTRLKEY
- - RIGHTMOUSE
- - RIGHTSHIFTKEY
- - RKEY
- - SEMICOLONKEY
- - SEVENKEY
- - SIXKEY
- - SKEY
- - SLASHKEY
- - SPACEKEY
- - TABKEY
- - THREEKEY
- - TIMER0
- - TIMER1
- - TIMER2
- - TIMER3
- - TKEY
- - TWOKEY
- - UKEY
- - UPARROWKEY
- - VKEY
- - WHEELDOWNMOUSE
- - WHEELUPMOUSE
- - WINCLOSE
- - WINFREEZE
- - WINQUIT
- - WINTHAW
- - WKEY
- - XKEY
- - YKEY
- - ZEROKEY
- - ZKEY
-
-@note: function Button has an alias: L{PushButton}.
-
-@warn: B{very important}: if using your script causes "Error totblock"
-messages when Blender exits (meaning that memory has been leaked), this may
-have been caused by an ignored return value from one of the button types. To
-avoid this, assign created buttons return values to B{global} variables,
-instead of ignoring them. Examples::
-
- # avoid this, it can cause memory leaks:
- Draw.Toggle(...)
- Draw.Number(...)
- Draw.String(...)
- # this is correct -- assuming the variables are globals:
- my_toggle_button = Draw.Toggle(...)
- my_int_button = Draw.Number(...)
- my_str_button = Draw.String(...)
-
-
-@warn: Inside the windowing loop (after Draw.Register() has been executed and
-before Draw.Exit() is called), don't use the redraw functions from other
-modules (Blender and Window). The Draw submodule has its own Draw.Redraw() and
-Draw.Draw() functions that can be used inside the windowing loop.
-"""
-
-def Exit():
- """
- Exit the windowing interface.
- """
-
-def BeginAlign():
- """
- Buttons after this function will draw aligned (button layout only).
- """
-
-def EndAlign():
- """
- Use after BeginAlign() to stop aligning the buttons (button layout only).
- """
-
-def UIBlock(draw):
- """
- This function creates a popup area where buttons, labels, sliders etc can be drawn.
-
- @type draw: function
- @param draw: A function to draw to the popup area, taking no arguments: draw().
-
- @note: The size of the popup will expand to fit the bounds of the buttons created in the draw function.
- @note: Be sure to use the mouse coordinates to position the buttons under the mouse,
- so the popup dosn't exit as soon as it opens.
- The coordinates for buttons start 0,0 at the bottom left hand side of the screen.
- @note: Within this popup, Redraw events and the registered button callback will not work.
- For buttons to run events, use per button callbacks.
- @note: OpenGL drawing functions wont work within this popup, for text use L{Label} rather then L{Text}
- @warning: L{Menu} will not work properly within a UIBlock, this is a limitation with blenders user interface internals.
- """
-
-def Register(draw = None, event = None, button = None):
- """
- Register callbacks for windowing.
- @type draw: function
- @type event: function
- @type button: function
- @param draw: A function to draw the screen, taking no arguments: draw().
- @param event: A function to handle keyboard and mouse input events, taking
- two arguments: f(evt, val), where:
- - 'evt' (int) is the event number;
- - 'val' (int) is the value modifier. If val = 0, the event refers to a
- key or mouse button being released. Otherwise it's a key/button press.
- @param button: A function to handle Draw Button events, taking one argument:
- f(evt), where:
- - 'evt' is the button number (see the I{event} parameter in L{Button}).
- @note: note that in the example at the beginning of this page Draw.Register
- is called only once. It's not necessary to re-register the callbacks,
- they will stay until Draw.Exit is called. It's enough to redraw the
- screen, when a relevant event is caught.
- @note: only during the B{event} callback: the L{Blender}.ascii variable holds
- the ASCII integer value (if it exists and is valid) of the current event.
- """
-
-def Redraw(after = 0):
- """
- Queue a redraw event. Redraw events are buffered so that, regardless of how
- many events are queued, the window only receives one redraw event.
- @type after: int
- @param after: If non-zero, the redraw is processed before other input events.
- """
-
-def Draw():
- """
- Force an immediate redraw. Forced redraws are not buffered. In other words,
- the window is redrawn once every time this function is called.
- """
-
-def Create(value):
- """
- Create a default Button object.
- @type value: int, float, string or 3 floats
- @param value: The value to store in the button.
- @rtype: Blender Button
- @return: The Button created.
- @note: String values must have less then 400 characters.
- """
-
-def PushButton(name, event, x, y, width, height, tooltip = None, callback = None):
- """
- Create a new (push) Button object.
- @type name: string
- @param name: The string to display on the button.
- @type event: int
- @param event: The event number to pass to the button event function when
- activated.
- @type x: int
- @type y: int
- @param x: The lower left x (horizontal) coordinate of the button.
- @param y: The lower left y (vertical) coordinate of the button.
- @type width: int
- @type height: int
- @param width: The button width.
- @param height: The button height.
- @type tooltip: string
- @param tooltip: The button's tooltip (the string that appears when the mouse
- is kept over the button).
- @type callback: function
- @param callback: an optional argument so this button can have its own
- callback function. the function will run whenever this button is pressed.
- This function must accept 2 arguments (event, val).
- @note: This function used to be called only "Button". We added an
- alternative alias to avoid a name clash with the L{Button} class/type that
- caused trouble in this documentation's generation. The old name shouldn't
- be deprecated, use Button or PushButton (better) at your choice.
- """
-
-def PupMenu(name, maxrow = None):
- """
- Create a pop-up menu.
-
- The menu options are specified through the 'name' parameter, like with
- L{Menu}: options are followed by a format code and separated by the '|'
- character. Valid format codes are:
- - %t - The option should be used as the title of the pop-up;
- - %l - insert a separating line (only works if 'maxrow' isn't given);
- - %xB{N} - Chosen this option, PupMenu should return the integer B{N}.
-
- Example::
- name = "OK?%t|QUIT BLENDER" # if no %xN int is set, indices start from 1
- result = Draw.PupMenu(name)
- if result:
- Draw.PupMenu("Really?%t|Yes|No")
-
- @type name: string
- @param name: The format string to define the contents of the button.
- @type maxrow: int
- @param maxrow: The maximum number of rows for each column in the pop-up.
- @rtype: int
- @return: the chosen entry number or -1 if none was chosen.
- """
-
-def PupIntInput(text, default, min, max):
- """
- Create an integer number input pop-up.
-
- This allows python to use Blender's integer number pop-up input.
-
- Example::
- default = 50
- min = 0
- max = 100
-
- msg = "Set this value between 0 and 100"
- result = Draw.PupIntInput(msg, default, min, max)
- if result != None:
- print result
- else:
- print 'no user input'
-
- @type text: string
- @param text: The text that is displayed in the pop-up.
- @type default: int
- @param default: The value that the pop-up is set to initially.
- @type min: int
- @param min: The lowest value the pop-up will allow.
- @type max: int
- @param max: The highest value the pop-up will allow.
- @rtype: int
- @return: the number chosen or None if none was chosen.
- """
-
-def PupFloatInput(text, default, min, max, clickStep, floatLen):
- """
- Create a floating point number input pop-up.
-
- This allows python to use Blender's floating point pop-up input.
-
- Example::
- default = 50
- min = 0.0
- max = 10.0
- clickStep = 100
- floatLen = 3
-
- msg = "Set this value between 0 and 100"
- result = Draw.PupFloatInput(msg, default, min, max, clickStep, floatLen)
- if result != None:
- print result
- else:
- print 'no user input'
-
- @type text: string
- @param text: The text that is displayed in the pop-up.
- @type default: float
- @param default: The value that the pop-up is set to initially.
- @type min: float
- @param min: The lowest value the pop-up will allow.
- @type max: float
- @param max: The highest value the pop-up will allow.
- @type clickStep: int
- @param clickStep: How much is incremented per user click, 100 will increment 1.0, 10 will increment 0.1 etc.
- @type floatLen: int
- @param floatLen: The number of decimal places to display, between 2 and 4.
- @rtype: float
- @return: the number chosen or None if none was chosen.
- """
-
-def PupStrInput(text, default, max = 20):
- """
- Create a string input pop-up.
-
- This allows python to use Blender's string pop-up input.
-
- Example::
- Blender.Draw.PupStrInput("Name:", "untitled", 25)
-
- @type text: string
- @param text: The text that is displayed in the pop-up.
- @type default: string
- @param default: The value that the pop-up is set to initially. If it's longer
- then 'max', it's truncated.
- @type max: int
- @param max: The most characters the pop-up input will allow. If not given
- it defaults to 20 chars. It should be in the range [1, 100].
- @rtype: string
- @return: The text entered by the user or None if none was chosen.
- """
-
-def PupBlock(title, sequence):
- """
- Display a pop-up block.
-
- Possible formats for the items in the sequence parameter.
- (Value are objects created with L{Create})
- - string: Defines a label
- - (string, Value, string): Defines a toggle button. The first string is the text on the button, the optional second string is the tooltip.
- - (string, Value, min, max, string): Defines a numeric or string button, depending on the content of Value. The first string is the text on the button, the optional second string is the tooltip. I{For string, max is the maximum length of the string and min is unused.}
-
- Example::
- import Blender
-
- text = Blender.Draw.Create("short text")
- f = Blender.Draw.Create(1.0)
- i = Blender.Draw.Create(2)
- tog = Blender.Draw.Create(0)
-
- block = []
-
- block.append(("Name: ", text, 0, 30, "this is some tool tip"))
- block.append("Some Label")
- block.append(("Value: ", f, 0.0, 100.0))
- block.append(("Value: ", i, 0, 100))
- block.append(("Option", tog, "another tooltip"))
-
- retval = Blender.Draw.PupBlock("PupBlock test", block)
-
- print "PupBlock returned", retval
-
- print "text\\t", text
- print "float\\t", f
- print "int\\t", i
- print "toggle\\t", tog
-
- @warning: On cancel, the Value objects are brought back to there initial values except for string values which will still contain the modified values.
- @type title: string
- @param title: The title of the block.
- @param sequence: A sequence defining what the block contains.
- The order of the list is the order of appearance, from top down.
- @rtype: int
- @return: 1 if the pop-up is confirmed, 0 otherwise
- """
-
-def Menu(name, event, x, y, width, height, default, tooltip = None, callback = None):
- """
- Create a new Menu Button object.
-
- The menu options are specified through the 'name' of the button. Options are
- I{followed} by a format code and separated by the '|' (pipe) character. Valid
- format codes are:
- - %t - The option should be used as the title;
- - %l - Insert a separating line;
- - %xB{N} - The option should set the integer B{N} in the button value.
-
- Example::
- name = "The Title %t|First Entry %x1|Second Entry %x2|Third Entry %x3"
- menu = Draw.Menu(name, 2, 60, 120, 200, 40, 3, "Just a test menu.")
- # note that, since default = 3, the "Third Entry"
- # will appear as the default choice in the Menu.
-
- @type name: string
- @param name: The format string to define the contents of the button.
- @type event: int
- @param event: The event number to pass to the button event function when
- activated.
- @type x: int
- @type y: int
- @param x: The lower left x (horizontal) coordinate of the button.
- @param y: The lower left y (vertical) coordinate of the button.
- @type width: int
- @type height: int
- @param width: The button width.
- @param height: The button height.
- @type default: int
- @param default: The number of the option to be selected by default.
- @type tooltip: string
- @param tooltip: The button's tooltip (the string that appears when the mouse
- is kept over the button).
- @type callback: function
- @param callback: an optional argument so this button can have its own
- callback function. the function will run whenever this button is pressed.
- This function must accept 2 arguments (event, val).
- @rtype: Blender Button
- @return: The Button created.
- """
-
-def Toggle(name, event, x, y, width, height, default, tooltip = None, callback = None):
- """
- Create a new Toggle Button object.
- @type name: string
- @param name: The string to display on the button.
- @type event: int
- @param event: The event number to pass to the button event function when
- activated.
- @type x: int
- @type y: int
- @param x: The lower left x (horizontal) coordinate of the button.
- @param y: The lower left y (vertical) coordinate of the button.
- @type width: int
- @type height: int
- @param width: The button width.
- @param height: The button height.
- @type default: int
- @param default: The value specifying the default state:
- (0 for "up", 1 for "down").
- @type tooltip: string
- @param tooltip: The button's tooltip (the string that appears when the mouse
- is kept over the button).
- @type callback: function
- @param callback: an optional argument so this button can have its own
- callback function. the function will run whenever this button is pressed.
- This function must accept 2 arguments (event, val).
- @rtype: Blender Button
- @return: The Button created.
- """
-
-def Slider(name, event, x, y, width, height, initial, min, max, realtime = 1,
- tooltip = None, callback = None):
- """
- Create a new Slider Button object.
- @type name: string
- @param name: The string to display on the button.
- @type event: int
- @param event: The event number to pass to the button event function when
- activated.
- @type x: int
- @type y: int
- @param x: The lower left x (horizontal) coordinate of the button.
- @param y: The lower left y (vertical) coordinate of the button.
- @type width: int
- @type height: int
- @param width: The button width.
- @param height: The button height.
- @type initial: int or float
- @type min: int or float
- @type max: int or float
- @param initial: The initial value.
- @param min: The minimum value.
- @param max: The maximum value.
- @type realtime: int
- @param realtime: If non-zero (the default), the slider will emit events as
- it is edited.
- @type tooltip: string
- @param tooltip: The button's tooltip (the string that appears when the mouse
- is kept over the button).
-
- @type callback: function
- @param callback: an optional argument so this button can have its own
- callback function. the function will run whenever this button is pressed.
- This function must accept 2 arguments (event, val).
- @rtype: Blender Button
- @return: The Button created.
- @note: slider callbacks will not work if the realtime setting is enabled.
- """
-
-#def Scrollbar(event, x, y, width, height, initial, min, max, realtime = 1,
-# tooltip = None):
-# """
-# Create a new Scrollbar Button object.
-# @type event: int
-# @param event: The event number to pass to the button event function when
-# activated.
-# @type x: int
-# @type y: int
-# @param x: The lower left x (horizontal) coordinate of the button.
-# @param y: The lower left y (vertical) coordinate of the button.
-# @type width: int
-# @type height: int
-# @param width: The button width.
-# @param height: The button height.
-# @type initial: int or float
-# @type min: int or float
-# @type max: int or float
-# @param initial: The initial value.
-# @param min: The minimum value.
-# @param max: The maximum value.
-# @type realtime: int
-# @param realtime: If non-zero (the default), the slider will emit events as
-# it is edited.
-# @type tooltip: string
-# @param tooltip: The button's tooltip (the string that appears when the mouse
-# is kept over the button).
-# @rtype: Blender Button
-# @return: The Button created.
-# """
-
-def ColorPicker(event, x, y, width, height, initial, tooltip = None, callback = None):
- """
- Create a new Color Picker Button object.
- @type event: int
- @param event: The event number to pass to the button event function when
- activated.
- @type x: int
- @type y: int
- @param x: The lower left x (horizontal) coordinate of the button.
- @param y: The lower left y (vertical) coordinate of the button.
- @type width: int
- @type height: int
- @param width: The button width.
- @param height: The button height.
- @type initial: 3-float tuple
- @param initial: The initial color value. All values must be between 0 and 1
- @type tooltip: string
- @param tooltip: The button's tooltip (the string that appears when the mouse
- is kept over the button).
- @type callback: function
- @param callback: an optional argument so this button can have its own
- callback function. the function will run whenever this button is pressed.
- This function must accept 2 arguments (event, val).
- @rtype: Blender Button
- @return: The Button created.
- @note: The color picker will not work if the Register's event function is None.
- @note: Using the same button variable with more then 1 button at a time will corrupt memory.
- """
-
-def Normal(event, x, y, width, height, initial, tooltip = None, callback = None):
- """
- Create a new Normal button, this allows you to set a 3d vector by rotating a sphere.
- @type event: int
- @param event: The event number to pass to the button event function when
- activated.
- @type x: int
- @type y: int
- @param x: The lower left x (horizontal) coordinate of the button.
- @param y: The lower left y (vertical) coordinate of the button.
- @type width: int
- @type height: int
- @param width: The button width - non square normal buttons .
- @param height: The button height.
- @type initial: 3-float tuple
- @param initial: The initial vector value.
- @type tooltip: string
- @param tooltip: The button's tooltip (the string that appears when the mouse
- is kept over the button).
- @type callback: function
- @param callback: an optional argument so this button can have its own
- callback function. the function will run whenever this button is pressed.
- This function must accept 2 arguments (event, val).
- @rtype: Blender Button
- @return: The Button created.
- @note: The normal button will not work if the Register's event function is None.
- @note: Using the same button variable with more then 1 button at a time will corrupt memory.
- """
-
-def Number(name, event, x, y, width, height, initial, min, max, tooltip = None, callback = None):
- """
- Create a new Number Button object.
- @type name: string
- @param name: The string to display on the button.
- @type event: int
- @param event: The event number to pass to the button event function when
- activated.
- @type x: int
- @type y: int
- @param x: The lower left x (horizontal) coordinate of the button.
- @param y: The lower left y (vertical) coordinate of the button.
- @type width: int
- @type height: int
- @param width: The button width.
- @param height: The button height.
- @type initial: int or float
- @type min: int or float
- @type max: int or float
- @param initial: The initial value.
- @param min: The minimum value.
- @param max: The maximum value.
- @type tooltip: string
- @param tooltip: The button's tooltip (the string that appears when the mouse
- is kept over the button).
- @type callback: function
- @param callback: an optional argument so this button can have its own
- callback function. the function will run whenever this button is pressed.
- This function must accept 2 arguments (event, val).
- @rtype: Blender Button
- @return: The Button created.
-
- I{B{Example:}}
-
- This example draws a single floating point value::
- from Blender import Draw
- b= Draw.Create(0.0) # Data for floating point button
- def bevent(evt):
- print 'My Button event:', evt
- def gui():
- global b
- b= Draw.Number('value: ', 1000, 0,0, 200, 20, b.val, 0,10, 'some text tip')
-
- Draw.Register(gui, None, bevent) # we are not going to worry about keyboard and mouse events
- """
-
-
-def String(name, event, x, y, width, height, initial, length, tooltip = None, callback = None):
- """
- Create a new String Button object.
- @type name: string
- @param name: The string to display on the button.
- @type event: int
- @param event: The event number to pass to the button event function when
- activated.
- @type x: int
- @type y: int
- @param x: The lower left x (horizontal) coordinate of the button.
- @param y: The lower left y (vertical) coordinate of the button.
- @type width: int
- @type height: int
- @param width: The button width.
- @param height: The button height.
- @type initial: string
- @param initial: The string to display initially.
- @type length: int
- @param length: The maximum input length.
- @type tooltip: string
- @param tooltip: The button's tooltip (the string that appears when the mouse
- is kept over the button).
- @type callback: function
- @param callback: an optional argument so this button can have its own
- callback function. the function will run whenever this button is pressed.
- This function must accept 2 arguments (event, val).
- @rtype: Blender Button
- @return: The Button created.
- """
-
-def GetStringWidth(string, fontsize = 'normal'):
- """
- Get the width in pixels of a string.
- @type string: string
- @param string: A string.
- @type fontsize: string
- @param fontsize: The size of the font: 'large', 'normal', 'small' or 'tiny'.
- @rtype: int
- @return: The width of I{string} with the chosen I{fontsize}.
- """
-
-def Text(string, fontsize = 'normal'):
- """
- Draw a string on the screen.
-
- Text location is set using the OpenGL raster location functions L{BGL.glRasterPos} before the text is drawn.
- This sets the text location from the lower left corner of the current window.
-
- Text color is set using the OpenGL color functions L{BGL.glColor} before the text is drawn.
-
- @type string: string
- @param string: The text string to draw.
- @type fontsize: string
- @param fontsize: The size of the font: 'large', 'normal', 'small' or 'tiny'.
- @rtype: int
- @return: The width of I{string} drawn with the chosen I{fontsize}.
- @note: For drawing text in the 3d view see the workaround in L{BGL.glRasterPos}
- """
-
-def Label(string, x, y, w, h):
- """
- Draw a text lable on the screen.
-
- @type string: string
- @param string: The text string to draw.
- @rtype: None
- @return: None
- """
-
-def Image(image, x, y, zoomx=1.0, zoomy=1.0, clipx=0, clipy=0, clipw=-1, cliph=-1):
- """
- Draw an image on the screen.
-
- The image is drawn at the location specified by the coordinates (x,y). A
- pair of optional zoom factors (in horizontal and vertical directions) can
- be applied to the image as it is drawn, and an additional clipping rectangle
- can be applied to extract a particular sub-region of the image to draw.
-
- Note that the clipping rectangle is given in image space coordinates. In
- image space, the origin is located at the bottom left, with x coordinates
- increasing to the right and y coordinates increasing upwards. No matter
- where the clipping rectangle is placed in image space, the lower-left pixel
- drawn on the screen is always placed at the coordinates (x,y). The
- clipping rectangle is itself clipped to the dimensions of the image. If
- either the width or the height of the clipping rectangle are negative then
- the corresponding dimension (width or height) is set to include as much of
- the image as possible.
-
- For drawing images with alpha blending with the background you will need to enable blending as shown in the example.
-
- Example::
- import Blender
- from Blender import BGL, Image, Draw
-
- myimage = Image.Load('myimage.png')
-
- def gui():
- BGL.glEnable( BGL.GL_BLEND ) # Only needed for alpha blending images with background.
- BGL.glBlendFunc(BGL.GL_SRC_ALPHA, BGL.GL_ONE_MINUS_SRC_ALPHA)
-
- Draw.Image(myimage, 50, 50)
-
- BGL.glDisable( BGL.GL_BLEND )
- def event(evt, val):
- if evt == Draw.ESCKEY:
- Draw.Exit()
-
- Draw.Register(gui, event, None)
-
- @type image: Blender.Image
- @param image: The image to draw.
- @type x: int
- @param x: The lower left x (horizontal) position of the origin of the image.
- @type y: int
- @param y: The lower left y (vertical) position of the origin of the image.
- @type zoomx: float
- @param zoomx: The x (horizontal) zoom factor to use when drawing the image.
- @type zoomy: float
- @param zoomy: The y (vertical) zoom factor to use when drawing the image.
- @type clipx: int
- @param clipx: The lower left x (horizontal) origin of the clipping rectangle
- within the image. A value of 0 indicates the left of the
- image.
- @type clipy: int
- @param clipy: The lower left y (vertical) origin of the clipping rectangle
- within the image. A value of 0 indicates the bottom of the
- image.
- @type clipw: int
- @param clipw: The width of the clipping rectangle within the image. If this
- value is negative then the clipping rectangle includes as much
- of the image as possible in the x (horizontal) direction.
- @type cliph: int
- @param cliph: The height of the clipping rectangle within the image. If this
- value is negative then the clipping rectangle includes as much
- of the image as possible in the y (vertical) direction.
- """
-
-class Button:
- """
- The Button object
- =================
- This object represents a button in Blender's GUI.
- @type val: int or float, string or 3-float tuple (depends on button type).
- @ivar val: The button's value.
- """