aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flattr_ed.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-01-26 05:02:06 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-01-26 05:02:06 +0000
commitdcbc90c265de6782a1dc6f2e5e7e9fa3c4743f87 (patch)
tree1945ec1d26aaba80a35073c1e40bf8c395740e2f /externals/grill/flext/source/flattr_ed.cpp
parent329c9b00931e368ff4b16177bfc7a70b033689b9 (diff)
- fixed typos and 64-bit compatibility
usage of symbols for method and attribute adding fixed buggy unbinding of receive symbols reconsidered flext::buffer:Update some restructuring added object construction and destruction flags better templates, some minor changes build system: added profiler mode, more fixes added method for clicks into object box - conform to idle callback functionality in devel_0_38 oops, forgot about SIMD for Windows fix for ToOut calls in dsp time svn path=/trunk/; revision=2540
Diffstat (limited to 'externals/grill/flext/source/flattr_ed.cpp')
-rw-r--r--externals/grill/flext/source/flattr_ed.cpp70
1 files changed, 45 insertions, 25 deletions
diff --git a/externals/grill/flext/source/flattr_ed.cpp b/externals/grill/flext/source/flattr_ed.cpp
index 8757c803..cf625e7c 100644
--- a/externals/grill/flext/source/flattr_ed.cpp
+++ b/externals/grill/flext/source/flattr_ed.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001-2004 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
@@ -14,7 +14,11 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include "flext.h"
-#if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_NOATTREDIT)
+#if FLEXT_SYS == FLEXT_SYS_PD
+
+#ifdef _MSC_VER
+#pragma warning( disable : 4091 )
+#endif
/*
#ifdef PD_DEVEL_VERSION
@@ -22,10 +26,6 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#endif
*/
-#ifdef _MSC_VER
-#pragma warning( disable : 4091 )
-#endif
-
#ifndef FLEXT_CLONEWIDGET
// This is problematic... non-public headers!
// compilation is specific for a compiled version!!
@@ -39,6 +39,39 @@ WARRANTIES, see the file, "license.txt," in this distribution.
static t_widgetbehavior widgetbehavior;
+void flext_base::SetGfx(t_classid c)
+{
+ // widgetbehavior struct MUST be resident... (static is just ok here)
+
+#ifndef FLEXT_CLONEWIDGET
+ widgetbehavior.w_visfn = c->c_wb->w_visfn;
+ widgetbehavior.w_selectfn = c->c_wb->w_selectfn;
+ widgetbehavior.w_getrectfn = c->c_wb->w_getrectfn;
+ widgetbehavior.w_displacefn = c->c_wb->w_displacefn;
+ widgetbehavior.w_activatefn = c->c_wb->w_activatefn;
+ widgetbehavior.w_deletefn = c->c_wb->w_deletefn;
+ widgetbehavior.w_selectfn = c->c_wb->w_selectfn;
+#else
+ widgetbehavior.w_visfn = text_widgetbehavior.w_visfn;
+ widgetbehavior.w_selectfn = text_widgetbehavior.w_selectfn;
+ widgetbehavior.w_getrectfn = text_widgetbehavior.w_getrectfn;
+ widgetbehavior.w_displacefn = text_widgetbehavior.w_displacefn;
+ widgetbehavior.w_activatefn = text_widgetbehavior.w_activatefn;
+ widgetbehavior.w_deletefn = text_widgetbehavior.w_deletefn;
+ widgetbehavior.w_selectfn = text_widgetbehavior.w_selectfn;
+#endif
+
+#ifndef FLEXT_NOATTREDIT
+ attrsetup(c);
+#endif // FLEXT_NOATTREDIT
+
+ widgetbehavior.w_clickfn = cb_click;
+ class_setwidget(c, &widgetbehavior);
+}
+
+
+#ifndef FLEXT_NOATTREDIT
+
#ifndef FLEXT_CLONEWIDGET
static void (*ori_vis)(t_gobj *c, t_glist *, int vis) = NULL;
static void (*ori_select)(t_gobj *c, t_glist *, int state) = NULL;
@@ -408,26 +441,16 @@ static void tclscript()
);
}
-void flext_base::SetAttrEditor(t_classid c)
+void flext_base::attrsetup(t_classid c)
{
- // widgetbehavior struct MUST be resident... (static is just ok here)
-
#ifndef FLEXT_CLONEWIDGET
ori_vis = c->c_wb->w_visfn;
ori_select = c->c_wb->w_selectfn;
- widgetbehavior.w_getrectfn = c->c_wb->w_getrectfn;
- widgetbehavior.w_displacefn = c->c_wb->w_displacefn;
- widgetbehavior.w_activatefn = c->c_wb->w_activatefn;
- widgetbehavior.w_deletefn = c->c_wb->w_deletefn;
- widgetbehavior.w_selectfn = c->c_wb->w_selectfn;
-#else
- widgetbehavior.w_getrectfn = text_widgetbehavior.w_getrectfn;
- widgetbehavior.w_displacefn = text_widgetbehavior.w_displacefn;
- widgetbehavior.w_activatefn = text_widgetbehavior.w_activatefn;
- widgetbehavior.w_deletefn = text_widgetbehavior.w_deletefn;
- widgetbehavior.w_selectfn = text_widgetbehavior.w_selectfn;
#endif
+ widgetbehavior.w_visfn = cb_GfxVis;
+ widgetbehavior.w_selectfn = cb_GfxSelect;
+
#if PD_MINOR_VERSION >= 37
class_setpropertiesfn(c,cb_GfxProperties);
class_setsavefn(c,cb_GfxSave);
@@ -436,11 +459,6 @@ void flext_base::SetAttrEditor(t_classid c)
widgetbehavior.w_savefn = cb_GfxSave;
#endif
- widgetbehavior.w_clickfn = cb_click;
- widgetbehavior.w_visfn = cb_GfxVis;
- widgetbehavior.w_selectfn = cb_GfxSelect;
- class_setwidget(c, &widgetbehavior);
-
tclscript();
}
@@ -800,5 +818,7 @@ void flext_base::BinbufAttr(t_binbuf *b,bool transdoll)
}
}
+#endif // FLEXT_NOATTREDIT
+
#endif // FLEXT_SYS_PD