Hi Ton,<br><br>I was going to ask about this issue of where to place stuff that gets used in multiple places (like quite a few parts of animation stuff). IMO, we should have one of those modules like for &quot;transform&quot; (as shown in the source layout docs) for things that are called for multiple areas (most notably, quite a few of the animation things, such as markers, current-frame indicator drawing). Another example would be editing tools for specific types of data (i.e. curves/nurbs): do these fit under the space_view3d, do they get their own &quot;module&quot;, or are they just lumped into a giant category &quot;object editing stuff&quot;?<br>
<br>Additionally, currently I&#39;ve got a system which provides a uniform access to animation data in the Action Editor, which means that the amount of context-checking stuff per tool is greatly reduced. How this currently works, is that each tool (also the drawing code) firstly requests the context info from the Action Editor (in 2.5, I guess this step will probably not be needed in most cases as operators would get provided with a context to work with), and then uses this context + a few data-filters it defines to retrieve a list of channels which are suitable for its requirements. Currently, I have plans to introduce such abstraction to the IPO Editor which also needs such a system to deal cope with the requirement of multiple-ipoblocks. Now, it would be preferable to have a single system for animation stuff which defines such data, as there&#39;s a considerable amount of overlap, with the only differences being how the editors interpret the data.<br>
<br>Regards,<br>Joshua<br><br><br><div class="gmail_quote">On Tue, Nov 25, 2008 at 7:59 AM, Ton Roosendaal <span dir="ltr">&lt;<a href="mailto:ton@blender.org">ton@blender.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Revision: 17560<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href="http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&amp;root=bf-blender&amp;revision=17560" target="_blank">http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&amp;root=bf-blender&amp;revision=17560</a><br>

Author: &nbsp; ton<br>
Date: &nbsp; &nbsp; 2008-11-24 19:59:59 +0100 (Mon, 24 Nov 2008)<br>
<br>
Log Message:<br>
-----------<br>
More testing with new system:<br>
<br>
- Added markers (partially) back, ed_markers.c (temporary in spacetime,<br>
 &nbsp;where to put general stuff like this?), and added ED_markers.h for api.<br>
<br>
- Mkey in timewindow shows marker (no icon, doesnt work yet).<br>
 &nbsp;(Adding operators gets easy :)<br>
<br>
- Noted some conflict for operator storage... with markers being used all<br>
 &nbsp;over, added it to the screen level.<br>
<br>
- More todos: view2d is stored in space, for time, etc. With regions we<br>
 &nbsp;could move this over, but better todo as post 2.5 project. Multiple 2d<br>
 &nbsp;views in area would be cool though.<br>
<br>
Modified Paths:<br>
--------------<br>
 &nbsp; &nbsp;branches/blender2.5/blender/source/blender/editors/include/UI_view2d.h<br>
 &nbsp; &nbsp;branches/blender2.5/blender/source/blender/editors/interface/view2d.c<br>
 &nbsp; &nbsp;branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c<br>
 &nbsp; &nbsp;branches/blender2.5/blender/source/blender/editors/space_time/space_time.c<br>
 &nbsp; &nbsp;branches/blender2.5/blender/source/blender/editors/space_time/time_ops.c<br>
 &nbsp; &nbsp;branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c<br>
<br>
Added Paths:<br>
-----------<br>
 &nbsp; &nbsp;branches/blender2.5/blender/source/blender/editors/include/ED_markers.h<br>
 &nbsp; &nbsp;branches/blender2.5/blender/source/blender/editors/include/ED_types.h<br>
 &nbsp; &nbsp;branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c<br>
<br>
Added: branches/blender2.5/blender/source/blender/editors/include/ED_markers.h<br>
===================================================================<br>
--- branches/blender2.5/blender/source/blender/editors/include/ED_markers.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (rev 0)<br>
+++ branches/blender2.5/blender/source/blender/editors/include/ED_markers.h &nbsp; &nbsp; 2008-11-24 18:59:59 UTC (rev 17560)<br>
@@ -0,0 +1,49 @@<br>
+/**<br>
+ * $Id:<br>
+ *<br>
+ * ***** BEGIN GPL LICENSE BLOCK *****<br>
+ *<br>
+ * This program is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU General Public License<br>
+ * as published by the Free Software Foundation; either version 2<br>
+ * of the License, or (at your option) any later version.<br>
+ *<br>
+ * This program is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &nbsp;See the<br>
+ * GNU General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU General Public License<br>
+ * along with this program; if not, write to the Free Software Foundation,<br>
+ * Inc., 59 Temple Place - Suite 330, Boston, MA &nbsp;02111-1307, USA.<br>
+ *<br>
+ * The Original Code is Copyright (C) 2008 Blender Foundation.<br>
+ * All rights reserved.<br>
+ *<br>
+ *<br>
+ * Contributor(s): Blender Foundation<br>
+ *<br>
+ * ***** END GPL LICENSE BLOCK *****<br>
+ */<br>
+#ifndef ED_MARKERS_H<br>
+#define ED_MARKERS_H<br>
+<br>
+/* flags for drawing markers */<br>
+enum {<br>
+ &nbsp; &nbsp; &nbsp; DRAW_MARKERS_LINES &nbsp; &nbsp; &nbsp;= (1&lt;&lt;0),<br>
+ &nbsp; &nbsp; &nbsp; DRAW_MARKERS_LOCAL &nbsp; &nbsp; &nbsp;= (1&lt;&lt;1)<br>
+};<br>
+<br>
+<br>
+<br>
+struct wmOperatorType;<br>
+<br>
+<br>
+void draw_markers_time(const bContext *C, int flag);<br>
+<br>
+/* operators */<br>
+void ED_MARKER_OT_add(struct wmOperatorType *ot);<br>
+<br>
+<br>
+#endif /* ED_MARKERS_H */<br>
+<br>
<br>
Added: branches/blender2.5/blender/source/blender/editors/include/ED_types.h<br>
===================================================================<br>
--- branches/blender2.5/blender/source/blender/editors/include/ED_types.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (rev 0)<br>
+++ branches/blender2.5/blender/source/blender/editors/include/ED_types.h &nbsp; &nbsp; &nbsp; 2008-11-24 18:59:59 UTC (rev 17560)<br>
@@ -0,0 +1,39 @@<br>
+/**<br>
+ * $Id:<br>
+ *<br>
+ * ***** BEGIN GPL LICENSE BLOCK *****<br>
+ *<br>
+ * This program is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU General Public License<br>
+ * as published by the Free Software Foundation; either version 2<br>
+ * of the License, or (at your option) any later version.<br>
+ *<br>
+ * This program is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &nbsp;See the<br>
+ * GNU General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU General Public License<br>
+ * along with this program; if not, write to the Free Software Foundation,<br>
+ * Inc., 59 Temple Place - Suite 330, Boston, MA &nbsp;02111-1307, USA.<br>
+ *<br>
+ * The Original Code is Copyright (C) 2008 Blender Foundation.<br>
+ * All rights reserved.<br>
+ *<br>
+ *<br>
+ * Contributor(s): Blender Foundation<br>
+ *<br>
+ * ***** END GPL LICENSE BLOCK *****<br>
+ */<br>
+#ifndef ED_TYPES_H<br>
+#define ED_TYPES_H<br>
+<br>
+/* **************** GENERAL EDITOR-WIDE TYPES AND DEFINES ************************** */<br>
+<br>
+/* old blender defines... should be depricated? */<br>
+#define SELECT 1<br>
+#define ACTIVE 2<br>
+<br>
+<br>
+#endif /* ED_TYPES_H */<br>
+<br>
<br>
Modified: branches/blender2.5/blender/source/blender/editors/include/UI_view2d.h<br>
===================================================================<br>
--- branches/blender2.5/blender/source/blender/editors/include/UI_view2d.h &nbsp; &nbsp; &nbsp;2008-11-24 17:48:40 UTC (rev 17559)<br>
+++ branches/blender2.5/blender/source/blender/editors/include/UI_view2d.h &nbsp; &nbsp; &nbsp;2008-11-24 18:59:59 UTC (rev 17560)<br>
@@ -65,5 +65,9 @@<br>
&nbsp;void UI_view2d_view_to_region(struct View2D *v2d, float x, float y, short *regionx, short *regiony);<br>
&nbsp;void UI_view2d_to_region_no_clip(struct View2D *v2d, float x, float y, short *regionx, short *region_y);<br>
<br>
+/* utilities */<br>
+void UI_view2d_getscale(View2D *v2d, float *x, float *y);<br>
+<br>
+<br>
&nbsp;#endif /* UI_VIEW2D_H */<br>
<br>
<br>
Modified: branches/blender2.5/blender/source/blender/editors/interface/view2d.c<br>
===================================================================<br>
--- branches/blender2.5/blender/source/blender/editors/interface/view2d.c &nbsp; &nbsp; &nbsp; 2008-11-24 17:48:40 UTC (rev 17559)<br>
+++ branches/blender2.5/blender/source/blender/editors/interface/view2d.c &nbsp; &nbsp; &nbsp; 2008-11-24 18:59:59 UTC (rev 17560)<br>
@@ -323,4 +323,9 @@<br>
 &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&nbsp;}<br>
<br>
+void UI_view2d_getscale(View2D *v2d, float *x, float *y)<br>
+{<br>
+ &nbsp; &nbsp; &nbsp; if (x) *x = (v2d-&gt;mask.xmax-v2d-&gt;mask.xmin)/(v2d-&gt;cur.xmax-v2d-&gt;cur.xmin);<br>
+ &nbsp; &nbsp; &nbsp; if (y) *y = (v2d-&gt;mask.ymax-v2d-&gt;mask.ymin)/(v2d-&gt;cur.ymax-v2d-&gt;cur.ymin);<br>
+}<br>
<br>
<br>
Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c<br>
===================================================================<br>
--- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c &nbsp; &nbsp; &nbsp;2008-11-24 17:48:40 UTC (rev 17559)<br>
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c &nbsp; &nbsp; &nbsp;2008-11-24 18:59:59 UTC (rev 17560)<br>
@@ -39,6 +39,7 @@<br>
&nbsp;#include &quot;WM_types.h&quot;<br>
<br>
&nbsp;#include &quot;ED_area.h&quot;<br>
+#include &quot;ED_markers.h&quot;<br>
&nbsp;#include &quot;ED_screen.h&quot;<br>
&nbsp;#include &quot;ED_screen_types.h&quot;<br>
<br>
@@ -1275,12 +1276,16 @@<br>
 &nbsp; &nbsp; &nbsp; &nbsp;WM_operatortype_append(ED_SCR_OT_cursor_type);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;WM_operatortype_append(ED_SCR_OT_actionzone);<br>
<br>
- &nbsp; &nbsp; &nbsp; /* tools */<br>
+ &nbsp; &nbsp; &nbsp; /* screen tools */<br>
 &nbsp; &nbsp; &nbsp; &nbsp;WM_operatortype_append(ED_SCR_OT_area_move);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;WM_operatortype_append(ED_SCR_OT_area_split);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;WM_operatortype_append(ED_SCR_OT_area_join);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;WM_operatortype_append(ED_SCR_OT_area_rip);<br>
<br>
+ &nbsp; &nbsp; &nbsp; /* tools shared by more space types */<br>
+ &nbsp; &nbsp; &nbsp; WM_operatortype_append(ED_MARKER_OT_add);<br>
+<br>
+<br>
 &nbsp; &nbsp; &nbsp; &nbsp;/* for test only */<br>
 &nbsp; &nbsp; &nbsp; &nbsp;WM_operatortype_append(ED_SCR_OT_border_select);<br>
&nbsp;}<br>
@@ -1298,9 +1303,6 @@<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;/* for test only */<br>
 &nbsp; &nbsp; &nbsp; &nbsp;WM_keymap_verify_item(&amp;wm-&gt;screenkeymap, &quot;ED_SCR_OT_border_select&quot;, BKEY, KM_PRESS, 0, 0);<br>
- &nbsp; &nbsp; &nbsp; WM_keymap_verify_item(&amp;wm-&gt;screenkeymap, &quot;WM_OT_tweak_gesture&quot;, LEFTMOUSE, KM_PRESS, 0, 0); /* generates event */<br>
<br>
- &nbsp; &nbsp; &nbsp; WM_keymap_add_item(&amp;wm-&gt;screenkeymap, &quot;ED_SCR_OT_area_split&quot;, EVT_TWEAK, EVT_GESTURE_S, 0, 0);<br>
-<br>
&nbsp;}<br>
<br>
<br>
Added: branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c<br>
===================================================================<br>
--- branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(rev 0)<br>
+++ branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c &nbsp;2008-11-24 18:59:59 UTC (rev 17560)<br>
@@ -0,0 +1,242 @@<br>
+/**<br>
+ * $Id:<br>
+ *<br>
+ * ***** BEGIN GPL LICENSE BLOCK *****<br>
+ *<br>
+ * This program is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU General Public License<br>
+ * as published by the Free Software Foundation; either version 2<br>
+ * of the License, or (at your option) any later version.<br>
+ *<br>
+ * This program is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &nbsp;See the<br>
+ * GNU General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU General Public License<br>
+ * along with this program; if not, write to the Free Software Foundation,<br>
+ * Inc., 59 Temple Place - Suite 330, Boston, MA &nbsp;02111-1307, USA.<br>
+ *<br>
+ * The Original Code is Copyright (C) 2008 Blender Foundation.<br>
+ * All rights reserved.<br>
+ *<br>
+ *<br>
+ * Contributor(s): Blender Foundation<br>
+ *<br>
+ * ***** END GPL LICENSE BLOCK *****<br>
+ */<br>
+<br>
+#include &lt;stdlib.h&gt;<br>
+<br>
+#include &quot;MEM_guardedalloc.h&quot;<br>
+<br>
+#include &quot;DNA_scene_types.h&quot;<br>
+#include &quot;DNA_screen_types.h&quot;<br>
+#include &quot;DNA_space_types.h&quot;<br>
+#include &quot;DNA_view2d_types.h&quot;<br>
+#include &quot;DNA_windowmanager_types.h&quot;<br>
+<br>
+#include &quot;RNA_access.h&quot;<br>
+#include &quot;RNA_define.h&quot;<br>
+<br>
+#include &quot;BLI_blenlib.h&quot;<br>
+<br>
+#include &quot;BKE_global.h&quot;<br>
+<br>
+#include &quot;WM_api.h&quot;<br>
+#include &quot;WM_types.h&quot;<br>
+<br>
+#include &quot;BIF_gl.h&quot;<br>
+#include &quot;BIF_glutil.h&quot;<br>
+<br>
+#include &quot;UI_interface.h&quot;<br>
+#include &quot;UI_view2d.h&quot;<br>
+#include &quot;UI_resources.h&quot;<br>
+<br>
+#include &quot;ED_markers.h&quot;<br>
+#include &quot;ED_types.h&quot;<br>
+<br>
+/* ************* Marker Drawing ************ */<br>
+<br>
+/* XXX */<br>
+extern void ui_rasterpos_safe(float x, float y, float aspect);<br>
+<br>
+/* function to draw markers */<br>
+static void draw_marker(View2D *v2d, TimeMarker *marker, int cfra, int flag)<br>
+{<br>
+ &nbsp; &nbsp; &nbsp; float xpos, ypixels, xscale, yscale;<br>
+ &nbsp; &nbsp; &nbsp; int icon_id= 0;<br>
+<br>
+ &nbsp; &nbsp; &nbsp; xpos = marker-&gt;frame;<br>
+ &nbsp; &nbsp; &nbsp; /* no time correction for framelen! space is drawn with old values */<br>
+<br>
+ &nbsp; &nbsp; &nbsp; ypixels= v2d-&gt;mask.ymax-v2d-&gt;mask.ymin;<br>
+ &nbsp; &nbsp; &nbsp; UI_view2d_getscale(v2d, &amp;xscale, &amp;yscale);<br>
+<br>
+ &nbsp; &nbsp; &nbsp; glScalef( 1.0/xscale, 1.0/yscale, 1.0);<br>
+<br>
+ &nbsp; &nbsp; &nbsp; glEnable(GL_BLEND);<br>
+ &nbsp; &nbsp; &nbsp; glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);<br>
+<br>
+ &nbsp; &nbsp; &nbsp; /* verticle line */<br>
+ &nbsp; &nbsp; &nbsp; if (flag &amp; DRAW_MARKERS_LINES) {<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; setlinestyle(3);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(marker-&gt;flag &amp; SELECT)<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glColor4ub(255,255,255, 96);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glColor4ub(0,0,0, 96);<br>
+<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glBegin(GL_LINES);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glVertex2f((xpos*xscale)+0.5, 12);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glVertex2f((xpos*xscale)+0.5, 34*yscale); /* a bit lazy but we know it cant be greater then 34 strips high*/<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glEnd();<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; setlinestyle(0);<br>
+ &nbsp; &nbsp; &nbsp; }<br>
+<br>
+ &nbsp; &nbsp; &nbsp; /* 5 px to offset icon to align properly, space / pixels corrects for zoom */<br>
+ &nbsp; &nbsp; &nbsp; if (flag &amp; DRAW_MARKERS_LOCAL) {<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; icon_id= (marker-&gt;flag &amp; ACTIVE) ? ICON_PMARKER_ACT :<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (marker-&gt;flag &amp; SELECT) ? ICON_PMARKER_SEL :<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ICON_PMARKER;<br>
+ &nbsp; &nbsp; &nbsp; }<br>
+ &nbsp; &nbsp; &nbsp; else {<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; icon_id= (marker-&gt;flag &amp; SELECT) ? ICON_MARKER_HLT :<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ICON_MARKER;<br>
+ &nbsp; &nbsp; &nbsp; }<br>
+<br>
+ &nbsp; &nbsp; &nbsp; //BIF_icon_draw(xpos*xscale-5.0, 12.0, icon_id);<br>
+ &nbsp; &nbsp; &nbsp; glColor3ub(0, 100, 0);<br>
+ &nbsp; &nbsp; &nbsp; glRectf(xpos*xscale-5.0f, 12.0f, xpos*xscale, 17.0f);<br>
+<br>
+ &nbsp; &nbsp; &nbsp; glBlendFunc(GL_ONE, GL_ZERO);<br>
+ &nbsp; &nbsp; &nbsp; glDisable(GL_BLEND);<br>
+<br>
+ &nbsp; &nbsp; &nbsp; /* and the marker name too, shifted slightly to the top-right */<br>
+ &nbsp; &nbsp; &nbsp; if(marker-&gt;name &amp;&amp; marker-&gt;name[0]) {<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(marker-&gt;flag &amp; SELECT) {<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //BIF_ThemeColor(TH_TEXT_HI);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ui_rasterpos_safe(xpos*xscale+4.0, (ypixels&lt;=39.0)?(ypixels-10.0):29.0, 1.0);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else {<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // BIF_ThemeColor(TH_TEXT);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if((marker-&gt;frame &lt;= cfra) &amp;&amp; (marker-&gt;frame+5 &gt; cfra))<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ui_rasterpos_safe(xpos*xscale+4.0, (ypixels&lt;=39.0)?(ypixels-10.0):29.0, 1.0);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ui_rasterpos_safe(xpos*xscale+4.0, 17.0, 1.0);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
+// &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BIF_DrawString(G.font, marker-&gt;name, 0);<br>
+ &nbsp; &nbsp; &nbsp; }<br>
+ &nbsp; &nbsp; &nbsp; glScalef(xscale, yscale, 1.0);<br>
+}<br>
+<br>
+/* Draw Scene-Markers in time window (XXX make generic) */<br>
+void draw_markers_time(const bContext *C, int flag)<br>
+{<br>
+ &nbsp; &nbsp; &nbsp; TimeMarker *marker;<br>
+ &nbsp; &nbsp; &nbsp; SpaceTime *stime= C-&gt;area-&gt;spacedata.first;<br>
+ &nbsp; &nbsp; &nbsp; View2D *v2d= &amp;stime-&gt;v2d;<br>
+<br>
+ &nbsp; &nbsp; &nbsp; /* unselected markers are drawn at the first time */<br>
+ &nbsp; &nbsp; &nbsp; for (marker= C-&gt;scene-&gt;markers.first; marker; marker= marker-&gt;next) {<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!(marker-&gt;flag &amp; SELECT)) draw_marker(v2d, marker, C-&gt;scene-&gt;r.cfra, flag);<br>
+ &nbsp; &nbsp; &nbsp; }<br>
+<br>
<br>
@@ Diff output truncated at 10240 characters. @@<br>
<br>
_______________________________________________<br>
Bf-blender-cvs mailing list<br>
<a href="mailto:Bf-blender-cvs@blender.org">Bf-blender-cvs@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-blender-cvs" target="_blank">http://lists.blender.org/mailman/listinfo/bf-blender-cvs</a><br>
</blockquote></div><br>