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/windowmanager/manipulators/intern')
-rw-r--r--source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c7
-rw-r--r--source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c6
-rw-r--r--source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h12
-rw-r--r--source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c13
4 files changed, 17 insertions, 21 deletions
diff --git a/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c b/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c
index ae3febfc2d1..d526f754d51 100644
--- a/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c
+++ b/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c
@@ -42,6 +42,7 @@
#include "RNA_types.h"
#include "WM_types.h"
+#include "WM_api.h"
#include "manipulator_geometry.h"
#include "manipulator_library_intern.h"
@@ -130,7 +131,7 @@ static void arrow_draw_geom(const ArrowManipulator *arrow, const float col[4], c
const float len = arrow->length;
const bool use_lighting = /*select == false && ((U.manipulator_flag & V3D_SHADED_MANIPULATORS) != 0)*/ false;
- glTranslate3fv(arrow->manipulator.offset);
+ glTranslatef(UNPACK3(arrow->manipulator.offset));
arrow_draw_line(arrow, col, len);
@@ -173,7 +174,7 @@ static void arrow_draw_intern(const ArrowManipulator *arrow, const bool select,
arrow_get_matrix(arrow, rot, mat);
glPushMatrix();
- glMultMatrixf(mat);
+ glMultMatrixf((float *)mat);
glEnable(GL_BLEND);
arrow_draw_geom(arrow, col, select);
@@ -190,7 +191,7 @@ static void arrow_draw_intern(const ArrowManipulator *arrow, const bool select,
mul_mat3_m4_fl(mat, inter->init_scale);
glPushMatrix();
- glMultMatrixf(mat);
+ glMultMatrixf((float *)mat);
glEnable(GL_BLEND);
arrow_draw_geom(arrow, ghost_col, select);
diff --git a/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c b/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
index ffc38371d7d..908471ec728 100644
--- a/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
+++ b/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
@@ -96,7 +96,7 @@ static void dial_geom_draw(
if (use_clipping) {
glEnable(GL_CLIP_DISTANCE0);
immUniform4fv("ClipPlane", clipping_plane);
- immUniformMat4("ModelMatrix", mat);
+ immUniformMatrix4fv("ModelMatrix", mat);
}
if (filled) {
@@ -117,7 +117,6 @@ static void dial_ghostarc_draw_helpline(const float angle, const float co_outer[
immBindBuiltinProgram(GPU_SHADER_3D_UNIFORM_COLOR);
immUniformColor4fv(col);
- gpuMatrixBegin3D_legacy();
gpuPushMatrix();
gpuRotateAxis(-RAD2DEGF(angle), 'Z');
@@ -127,7 +126,6 @@ static void dial_ghostarc_draw_helpline(const float angle, const float co_outer[
immEnd();
gpuPopMatrix();
- gpuMatrixEnd();
immUnbindProgram();
}
@@ -197,7 +195,7 @@ static void dial_draw_intern(const bContext *C, DialManipulator *dial, const boo
}
glPushMatrix();
- glMultMatrixf(mat);
+ glMultMatrixf((float *)mat);
if (use_value_indicator) {
const float col_inner[] = {0.8f, 0.8f, 0.8f, 0.4f};
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h b/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
index cfdc085e7e4..d435130927e 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h
@@ -35,7 +35,7 @@ struct wmManipulatorMap;
/* wmManipulator */
/* manipulators are set per region by registering them on manipulator-maps */
-typedef struct wmManipulator {
+struct wmManipulator {
struct wmManipulator *next, *prev;
char idname[MAX_NAME + 4]; /* + 4 for unique '.001', '.002', etc suffix */
@@ -106,7 +106,7 @@ typedef struct wmManipulator {
* the manipulator is interacted with, those properties get updated */
PointerRNA *ptr;
PropertyRNA **props;
-} wmManipulator;
+};
/* wmManipulator.state */
enum {
@@ -170,7 +170,7 @@ void wm_manipulatorgrouptype_keymap_init(struct wmManipulatorGroupType *mgroupty
/* -------------------------------------------------------------------- */
/* wmManipulatorMap */
-typedef struct wmManipulatorMap {
+struct wmManipulatorMap {
struct wmManipulatorMap *next, *prev;
struct wmManipulatorMapType *type;
@@ -194,7 +194,7 @@ typedef struct wmManipulatorMap {
struct wmManipulator **selected_manipulator;
int tot_selected;
} mmap_context;
-} wmManipulatorMap;
+};
/**
* This is a container for all manipulator types that can be instantiated in a region.
@@ -202,13 +202,13 @@ typedef struct wmManipulatorMap {
*
* \note There is only ever one of these for every (area, region) combination.
*/
-typedef struct wmManipulatorMapType {
+struct wmManipulatorMapType {
struct wmManipulatorMapType *next, *prev;
char idname[64];
short spaceid, regionid;
/* types of manipulator-groups for this manipulator-map type */
ListBase manipulator_grouptypes;
-} wmManipulatorMapType;
+};
void wm_manipulatormap_selected_delete(wmManipulatorMap *mmap);
bool wm_manipulatormap_deselect_all(struct wmManipulatorMap *mmap, wmManipulator ***sel);
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
index 960a77fd74c..303a625fc23 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
@@ -279,35 +279,32 @@ static int manipulator_find_intersected_3D_intern(
ARegion *ar = CTX_wm_region(C);
View3D *v3d = sa->spacedata.first;
RegionView3D *rv3d = ar->regiondata;
- rctf rect, selrect;
+ rcti rect;
GLuint buffer[64]; // max 4 items per select, so large enuf
short hits;
const bool do_passes = GPU_select_query_check_active();
- extern void view3d_winmatrix_set(ARegion *ar, View3D *v3d, rctf *rect);
-
+ extern void view3d_winmatrix_set(ARegion *ar, View3D *v3d, const rcti *rect);
rect.xmin = co[0] - hotspot;
rect.xmax = co[0] + hotspot;
rect.ymin = co[1] - hotspot;
rect.ymax = co[1] + hotspot;
- selrect = rect;
-
view3d_winmatrix_set(ar, v3d, &rect);
mul_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat);
if (do_passes)
- GPU_select_begin(buffer, ARRAY_SIZE(buffer), &selrect, GPU_SELECT_NEAREST_FIRST_PASS, 0);
+ GPU_select_begin(buffer, ARRAY_SIZE(buffer), &rect, GPU_SELECT_NEAREST_FIRST_PASS, 0);
else
- GPU_select_begin(buffer, ARRAY_SIZE(buffer), &selrect, GPU_SELECT_ALL, 0);
+ GPU_select_begin(buffer, ARRAY_SIZE(buffer), &rect, GPU_SELECT_ALL, 0);
/* do the drawing */
manipulator_find_active_3D_loop(C, visible_manipulators);
hits = GPU_select_end();
if (do_passes) {
- GPU_select_begin(buffer, ARRAY_SIZE(buffer), &selrect, GPU_SELECT_NEAREST_SECOND_PASS, hits);
+ GPU_select_begin(buffer, ARRAY_SIZE(buffer), &rect, GPU_SELECT_NEAREST_SECOND_PASS, hits);
manipulator_find_active_3D_loop(C, visible_manipulators);
GPU_select_end();
}