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/source
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2016-10-14 02:26:55 +0300
committerDalai Felinto <dfelinto@gmail.com>2016-10-14 21:57:38 +0300
commit11653f85ff0c1050022f37692640db2f7e4578dc (patch)
treeb7ab80ad9c8ac1bd2fe3270cd3d2228da99ffbf5 /source
parent34dc660a7669812a2f1ed829cecd273d4e859d24 (diff)
Immediate mode: new util functions (imm_cpack and imm_draw_line_box)
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/include/BIF_glutil.h18
-rw-r--r--source/blender/editors/screen/glutil.c20
2 files changed, 38 insertions, 0 deletions
diff --git a/source/blender/editors/include/BIF_glutil.h b/source/blender/editors/include/BIF_glutil.h
index a5a12005a54..30718ccd18d 100644
--- a/source/blender/editors/include/BIF_glutil.h
+++ b/source/blender/editors/include/BIF_glutil.h
@@ -105,6 +105,24 @@ void imm_draw_lined_circle(unsigned pos, float x, float y, float radius, int nse
void imm_draw_filled_circle(unsigned pos, float x, float y, float radius, int nsegments);
/**
+* Draw a lined box.
+*
+* \param pos The vertex attribute number for position.
+* \param x1 left.
+* \param y1 bottom.
+* \param x2 right.
+* \param y2 top.
+*/
+void imm_draw_line_box(unsigned pos, float x1, float y1, float x2, float y2);
+
+/**
+* Pack color into 3 bytes
+*
+* \param x color.
+*/
+void imm_cpack(unsigned int x);
+
+/**
* Returns a float value as obtained by glGetFloatv.
* The param must cause only one value to be gotten from GL.
*/
diff --git a/source/blender/editors/screen/glutil.c b/source/blender/editors/screen/glutil.c
index 3e42587fdb9..2d89398bc63 100644
--- a/source/blender/editors/screen/glutil.c
+++ b/source/blender/editors/screen/glutil.c
@@ -68,6 +68,7 @@ void fdrawline(float x1, float y1, float x2, float y2)
void fdrawbox(float x1, float y1, float x2, float y2)
{
+ /* DEPRECATED: use imm_draw_line_box instead */
glBegin(GL_LINE_LOOP);
glVertex2f(x1, y1);
@@ -102,6 +103,7 @@ void sdrawline(int x1, int y1, int x2, int y2)
void sdrawbox(int x1, int y1, int x2, int y2)
{
+ /* DEPRECATED: use imm_draw_line_box instead */
glBegin(GL_LINE_LOOP);
glVertex2i(x1, y1);
@@ -203,6 +205,23 @@ void imm_draw_filled_circle(unsigned pos, float x, float y, float rad, int nsegm
imm_draw_circle(GL_TRIANGLE_FAN, pos, x, y, rad, nsegments);
}
+void imm_draw_line_box(unsigned pos, float x1, float y1, float x2, float y2)
+{
+ immBegin(GL_LINE_LOOP, 4);
+ immVertex2f(pos, x1, y1);
+ immVertex2f(pos, x1, y2);
+ immVertex2f(pos, x2, y2);
+ immVertex2f(pos, x2, y1);
+ immEnd();
+}
+
+void imm_cpack(unsigned int x)
+{
+ immUniformColor3ub(((x)& 0xFF),
+ (((x) >> 8) & 0xFF),
+ (((x) >> 16) & 0xFF));
+}
+
float glaGetOneFloat(int param)
{
GLfloat v;
@@ -874,6 +893,7 @@ void glaDrawImBuf_glsl_ctx(const bContext *C, ImBuf *ibuf, float x, float y, int
void cpack(unsigned int x)
{
+ /* DEPRECATED: use imm_cpack */
glColor3ub(( (x) & 0xFF),
(((x) >> 8) & 0xFF),
(((x) >> 16) & 0xFF));