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
path: root/doc
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2018-04-17 18:36:39 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-04-17 18:36:39 +0300
commit8a695efe9b2ede0550bd2ca1423ddbecc90a5fa2 (patch)
tree0351c0cd469d5b050f3648858d2a1e16735bebde /doc
parent2b730763a3ae359c3af972b7f3b76e080e4ba43d (diff)
parenta0ef147f29cf2b067fb27b15a1c634d253668e77 (diff)
Merge remote-tracking branch 'origin/master' into blender2.8
Diffstat (limited to 'doc')
-rw-r--r--doc/python_api/examples/blf.py49
1 files changed, 25 insertions, 24 deletions
diff --git a/doc/python_api/examples/blf.py b/doc/python_api/examples/blf.py
index f6e87cf488d..e288ac9db66 100644
--- a/doc/python_api/examples/blf.py
+++ b/doc/python_api/examples/blf.py
@@ -2,43 +2,44 @@
Hello World Text Example
++++++++++++++++++++++++
-Blender Game Engine example of using the blf module. For this module to work we
+Example of using the blf module. For this module to work we
need to use the OpenGL wrapper :class:`~bgl` as well.
"""
-# import game engine modules
-from bge import render
-from bge import logic
# import stand alone modules
import bgl
import blf
+import bpy
+font_info = {
+ "font_id": 0,
+ "handler": None,
+}
def init():
"""init function - runs once"""
- # create a new font object, use external ttf file
- font_path = logic.expandPath('//Zeyada.ttf')
- # store the font indice - to use later
- logic.font_id = blf.load(font_path)
+ import os
+ # Create a new font object, use external ttf file.
+ font_path = bpy.path.abspath('//Zeyada.ttf')
+ # Store the font indice - to use later.
+ if os.path.exists(font_path):
+ font_info["font_id"] = blf.load(font_path)
+ else:
+ # Default font.
+ font_info["font_id"] = 0
# set the font drawing routine to run every frame
- scene = logic.getCurrentScene()
- scene.post_draw = [write]
+ font_info["handler"] = bpy.types.SpaceView3D.draw_handler_add(
+ draw_callback_px, (None, None), 'WINDOW', 'POST_PIXEL')
-def write():
- """write on screen"""
- width = render.getWindowWidth()
- height = render.getWindowHeight()
-
- # OpenGL setup
- bgl.glMatrixMode(bgl.GL_PROJECTION)
- bgl.glLoadIdentity()
- bgl.gluOrtho2D(0, width, 0, height)
- bgl.glMatrixMode(bgl.GL_MODELVIEW)
- bgl.glLoadIdentity()
-
+def draw_callback_px(self, context):
+ """Draw on the viewports"""
# BLF drawing routine
- font_id = logic.font_id
- blf.position(font_id, (width * 0.2), (height * 0.3), 0)
+ font_id = font_info["font_id"]
+ blf.position(font_id, 2, 80, 0)
blf.size(font_id, 50, 72)
blf.draw(font_id, "Hello World")
+
+
+if __name__ == '__main__':
+ init()