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:
-rw-r--r--source/blender/include/BSE_time.h2
-rw-r--r--source/blender/src/drawaction.c87
-rw-r--r--source/blender/src/drawtime.c30
-rw-r--r--source/blender/src/editaction.c16
-rw-r--r--source/blender/src/header_action.c22
5 files changed, 42 insertions, 115 deletions
diff --git a/source/blender/include/BSE_time.h b/source/blender/include/BSE_time.h
index f218c1504b0..050006a08fc 100644
--- a/source/blender/include/BSE_time.h
+++ b/source/blender/include/BSE_time.h
@@ -33,6 +33,7 @@
#ifndef BSE_TIME_H
#define BSE_TIME_H
+struct SpaceAction;
/* ******** Markers ********* */
void add_timeline_marker(int frame);
@@ -44,6 +45,7 @@ void timeline_frame_to_center(void);
void nextprev_timeline_key(short dir);
void nextprev_timeline_marker(short dir);
void timeline_grab(int mode, int smode);
+void draw_markers_action(struct SpaceAction *sact);
#endif
diff --git a/source/blender/src/drawaction.c b/source/blender/src/drawaction.c
index b127a895911..ddcee6689f9 100644
--- a/source/blender/src/drawaction.c
+++ b/source/blender/src/drawaction.c
@@ -215,93 +215,6 @@ void draw_cfra_action(void)
glLineWidth(1.0);
}
-/* Aligorith: for now, just draw them as lines (for debugging) */
-static void draw_marker(TimeMarker *marker)
-{
- float xpos, xspace, yspace, xpixels, ypixels;
- float vec[2];
-
-
- xpos = marker->frame;
- /* no time correction for framelen! space is drawn with old values */
-
- xspace= G.v2d->cur.xmax - G.v2d->cur.xmin;
- yspace= G.v2d->cur.ymax - G.v2d->cur.ymin;
- xpixels= G.v2d->mask.xmax-G.v2d->mask.xmin;
- ypixels= G.v2d->mask.ymax-G.v2d->mask.ymin;
-
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
- /* draw line through this point */
- vec[0]= G.scene->r.framelen * xpos;
-
- vec[1]= G.v2d->cur.ymin;
- if (marker->flag & SELECT)
- glColor3ub(0xFF, 0xFF, 0x99);
- else
- glColor3ub(0xAA, 0xAA, 0x55);
- glLineWidth(2.0);
-
- glBegin(GL_LINE_STRIP);
- glVertex2fv(vec);
- vec[1]= G.v2d->cur.ymax;
- glVertex2fv(vec);
- glEnd();
-
- glLineWidth(1.0);
-
-
- /* 5 px to offset icon to align properly, space / pixels corrects for zoom */
- if(marker->flag & SELECT)
- BIF_icon_draw(xpos-(5.0*(xspace/xpixels)), (12.0*yspace/ypixels)-CHANNELHEIGHT, ICON_MARKER_HLT);
- else
- BIF_icon_draw(xpos-(5.0*(xspace/xpixels)), (12.0*yspace/ypixels)-CHANNELHEIGHT, ICON_MARKER);
-
- glBlendFunc(GL_ONE, GL_ZERO);
- glDisable(GL_BLEND);
-
- /* and the marker name too, shifted slightly to the top-right */
- if(marker->name && marker->name[0]) {
- if(marker->flag & SELECT) {
- BIF_ThemeColor(TH_TEXT_HI);
- glRasterPos2f(xpos+(4.0*(xspace/xpixels)),
- ((ypixels<=39.0)?(ypixels-10.0):29.0)*yspace/ypixels);
- }
- else {
- BIF_ThemeColor(TH_TEXT);
- if((marker->frame <= G.scene->r.cfra) && (marker->frame+5 > G.scene->r.cfra))
- glRasterPos2f(xpos+(4.0*(xspace/xpixels)),
- ((ypixels<=39.0)?(ypixels-10.0):29.0)*yspace/ypixels);
- else
- glRasterPos2f(xpos+(4.0*(xspace/xpixels)), 17.0*yspace/ypixels);
- }
- BMF_DrawString(G.font, marker->name);
- }
-}
-
-static void draw_markers_action(SpaceAction *saction)
-{
- ListBase *markers;
- TimeMarker *marker;
-
- /* try to get markers */
- markers = get_saction_markers(saction);
- if (markers == NULL)
- return;
-
- /* unselected markers are drawn at the first time */
- for(marker= markers->first; marker; marker= marker->next) {
- if(!(marker->flag & SELECT)) draw_marker(marker);
- }
-
- /* selected markers are drawn later ... selected markers have to cover unselected
- * markers laying at the same position as selected markers
- * (jiri: it is hack, it could be solved better) */
- for(marker= markers->first; marker; marker= marker->next) {
- if(marker->flag & SELECT) draw_marker(marker);
- }
-}
/* left hand */
static void draw_action_channel_names(bAction *act)
diff --git a/source/blender/src/drawtime.c b/source/blender/src/drawtime.c
index 11d38cba844..b81334dc73a 100644
--- a/source/blender/src/drawtime.c
+++ b/source/blender/src/drawtime.c
@@ -179,6 +179,36 @@ static void draw_markers_time( void )
}
}
+void draw_markers_action(SpaceAction *sact)
+{
+ TimeMarker *marker;
+ float yspace, ypixels;
+
+ /* move ortho view to align with slider in bottom */
+ glTranslatef(0.0f, sact->v2d.cur.ymin, 0.0f);
+
+ /* bad hacks in drawing markers... inverse correct that as well */
+ yspace= sact->v2d.cur.ymax - sact->v2d.cur.ymin;
+ ypixels= sact->v2d.mask.ymax - sact->v2d.mask.ymin;
+ glTranslatef(0.0f, -11.0*yspace/ypixels, 0.0f);
+
+ /* unselected markers are drawn at the first time */
+ for(marker= G.scene->markers.first; marker; marker= marker->next) {
+ if(!(marker->flag & SELECT)) draw_marker(marker);
+ }
+
+ /* selected markers are drawn later ... selected markers have to cover unselected
+ * markers laying at the same position as selected markers */
+ for(marker= G.scene->markers.first; marker; marker= marker->next) {
+ if(marker->flag & SELECT) draw_marker(marker);
+ }
+
+ glTranslatef(0.0f, -sact->v2d.cur.ymin, 0.0f);
+ glTranslatef(0.0f, 11.0*yspace/ypixels, 0.0f);
+
+}
+
+
static void draw_sfra_efra()
{
BIF_ThemeColorShade(TH_BACK, -25);
diff --git a/source/blender/src/editaction.c b/source/blender/src/editaction.c
index 80bb0483eba..cdae8ff5448 100644
--- a/source/blender/src/editaction.c
+++ b/source/blender/src/editaction.c
@@ -2919,12 +2919,12 @@ ListBase *get_saction_markers (SpaceAction *saction)
{
ListBase *markers;
- if (saction->markert == SACTION_SCMARKERS)
+// if (saction->markert == SACTION_SCMARKERS)
markers = &(G.scene->markers);
- else if ((saction->markert == SACTION_ACMARKERS) && (saction->action != NULL))
- markers = &(saction->action->markers);
- else
- markers = NULL;
+// else if ((saction->markert == SACTION_ACMARKERS) && (saction->action != NULL))
+// markers = &(saction->action->markers);
+// else
+// markers = NULL;
return markers;
}
@@ -3121,7 +3121,11 @@ TimeMarker *find_nearest_saction_marker(ListBase *markers)
return NULL;
getmouseco_areawin (mval);
-
+
+ /* first clip selection in Y */
+ if(mval[1] > 30)
+ return NULL;
+
mval[0]-=7;
areamouseco_to_ipoco(G.v2d, mval, &rectf.xmin, &rectf.ymin);
mval[0]+=14;
diff --git a/source/blender/src/header_action.c b/source/blender/src/header_action.c
index 27893184c24..1f84a1176e5 100644
--- a/source/blender/src/header_action.c
+++ b/source/blender/src/header_action.c
@@ -1095,29 +1095,7 @@ void action_buttons(void)
from, &(G.saction->actnr), B_ACTALONE,
B_ACTLOCAL, B_ACTIONDELETE, 0, 0);
-
- /* Draw marker set selection box */
- xco+= 8;
-
- if (G.saction->action != NULL) {
- uiDefButS(block, MENU, B_REDR,
- "Markers%t|None%x0|Scene%x1|Action%x2",
- xco, 0, 80, 20, &(G.saction->markert), 0, 0, 0, 0,
- "What set of markers to display.");
- }
- else {
- if (G.saction->markert == SACTION_ACMARKERS)
- G.saction->markert = SACTION_NOMARKERS;
- uiDefButS(block, MENU, B_REDR,
- "Markers%t|None%x0|Scene%x1",
- xco, 0, 80, 20, &(G.saction->markert), 0, 0, 0, 0,
- "What set of markers to display.");
- }
-
- xco+=80;
-
-
/* Draw action baker */
xco+= 8;