Table Of Contents
Context instructions¶
The context instructions represent non graphics elements like:
- Matrix manipulation (PushMatrix, PopMatrix, Rotate, Translate, Scale, MatrixInstruction)
- Color manipulation (Color)
- Texture binding (BindTexture)
Changed in version 1.0.8: LineWidth instruction have been removed. It wasn’t working before, and we actually no implementation working. We need to do more experimentation to get it right. Check the bug #207 for more informations.
- class kivy.graphics.context_instructions.Color¶
Bases: kivy.graphics.instructions.ContextInstruction
Instruction to set the color state for any vertices being drawn after it. All the values passed are between 0 and 1, not 0 and 255.
In Python, you can do:
from kivy.graphics import Color # create red v c = Color(1, 0, 0) # create blue color c = Color(0, 1, 0) # create blue color with 50% alpha c = Color(0, 1, 0, .5) # using hsv mode c = Color(0, 1, 1, mode='hsv') # using hsv mode + alpha c = Color(0, 1, 1, .2, mode='hsv')
In kv lang:
<Rule>: canvas: # red color Color: rgb: 1, 0, 0 # blue color Color: rgb: 0, 1, 0 # blue color with 50% alpha Color: rgba: 0, 1, 0, .5 # using hsv mode Color: hsv: 0, 1, 1 # using hsv mode + alpha Color: hsv: 0, 1, 1 a: .5
- a¶
Alpha component, between 0-1
- b¶
Blue component, between 0-1
- g¶
Green component, between 0-1
- h¶
Hue component, between 0-1
- hsv¶
HSV color, list of 3 values in 0-1 range, alpha will be 1.
- r¶
Red component, between 0-1
- rgb¶
RGB color, list of 3 values in 0-1 range, alpha will be 1.
- rgba¶
RGBA color, list of 4 values in 0-1 range
- s¶
Saturation component, between 0-1
- v¶
Value component, between 0-1
- class kivy.graphics.context_instructions.BindTexture¶
Bases: kivy.graphics.instructions.ContextInstruction
BindTexture Graphic instruction. The BindTexture Instruction will bind a texture and enable GL_TEXTURE_2D for subsequent drawing.
Parameters : - texture: Texture
specifies the texture to bind to the given index
- source¶
Set/get the source (filename) to load for texture.
- class kivy.graphics.context_instructions.PushMatrix¶
Bases: kivy.graphics.instructions.ContextInstruction
PushMatrix on context’s matrix stack
- stack¶
Name of the matrix stack to use. Can be ‘modelview_mat’ or ‘projection_mat’.
New in version 1.6.0.
- class kivy.graphics.context_instructions.PopMatrix¶
Bases: kivy.graphics.instructions.ContextInstruction
Pop Matrix from context’s matrix stack onto model view
- stack¶
Name of the matrix stack to use. Can be ‘modelview_mat’ or ‘projection_mat’.
New in version 1.6.0.
- class kivy.graphics.context_instructions.Rotate¶
Bases: kivy.graphics.context_instructions.Transform
Rotate the coordinate space by applying a rotation transformation on the modelview matrix. You can set the properties of the instructions afterwards with e.g.:
rot.angle = 90 rot.axis = (0, 0, 1)
- angle¶
Property for getting/settings the angle of the rotation
- axis¶
Property for getting/settings the axis of the rotation
The format of the axis is (x, y, z).
- origin¶
Origin of the rotation
New in version 1.7.0.
The format of the origin can be either (x, y) or (x, y, z)
- set()¶
Set the angle and axis of rotation
>>> rotationobject.set(90, 0, 0, 1)
Deprecated since version 1.7.0.
- class kivy.graphics.context_instructions.Scale¶
Bases: kivy.graphics.context_instructions.Transform
Instruction to create a non uniform scale transformation.
Create using one or three arguments:
Scale(s) # scale all three axes the same Scale(x, y, z) # scale the axes independently
Changed in version 1.6.0: deprecated single scale property in favor of x, y, z, xyz axis independant scaled factors.
- scale¶
Property for getting/setting the scale.
Deprecated since version 1.6.0: deprecated in favor of per axis scale properties x,y,z, xyz, etc.
- x¶
Property for getting/setting the scale on X axis
Changed in version 1.6.0.
- xyz¶
3 tuple scale vector in 3D in x, y, and z axis
Changed in version 1.6.0.
- y¶
Property for getting/setting the scale on Y axis
Changed in version 1.6.0.
- z¶
Property for getting/setting the scale on Z axis
Changed in version 1.6.0.
- class kivy.graphics.context_instructions.Translate¶
Bases: kivy.graphics.context_instructions.Transform
Instruction to create a translation of the model view coordinate space.
Construct by either:
Translate(x, y) # translate in just the two axes Translate(x, y, z) # translate in all three axes
- x¶
Property for getting/setting the translation on X axis
- xy¶
2 tuple with translation vector in 2D for x and y axis
- xyz¶
3 tuple translation vector in 3D in x, y, and z axis
- y¶
Property for getting/setting the translation on Y axis
- z¶
Property for getting/setting the translation on Z axis
- class kivy.graphics.context_instructions.MatrixInstruction¶
Bases: kivy.graphics.instructions.ContextInstruction
Base class for Matrix Instruction on canvas
- matrix¶
Matrix property. Numpy matrix from transformation module setting the matrix using this porperty when a change is made is important, becasue it will notify the context about the update
- stack¶
Name of the matrix stack to use. Can be ‘modelview_mat’ or ‘projection_mat’.
New in version 1.6.0.