fi
AM_CONDITIONAL(SET_RIGHT_HALF_VFD_SKIN, test x"$setrighthalfvfdskin" != xno)
+AC_ARG_WITH(libvugles2,
+ AS_HELP_STRING([--with-libvugles2],[use libvugles2, yes or no]),
+ [with_libvugles2=$withval],[with_libvugles2=no])
+if test "$with_libvugles2" = "yes"; then
+ PKG_CHECK_MODULES(LIBVUGLES2, [libvugles2])
+ GLES_CFLAGS="-DUSE_LIBVUGLES2"
+fi
+AM_CONDITIONAL(HAVE_LIBVUGLES2, test "$with_libvugles2" = "yes")
+
AC_ARG_WITH(libsdl,
AS_HELP_STRING([--with-libsdl],[use libsdl, yes or no]),
[with_libsdl=$withval],[with_libsdl=no])
CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
CFLAGS="$CFLAGS $DEBUG_CFLAGS -Wall"
-CXXFLAGS="$CXXFLAGS $DEBUG_CFLAGS -Wall $BASE_CFLAGS $ENIGMA2_CFLAGS $PTHREAD_CFLAGS"
+CXXFLAGS="$CXXFLAGS $DEBUG_CFLAGS -Wall $BASE_CFLAGS $ENIGMA2_CFLAGS $PTHREAD_CFLAGS $GLES_CFLAGS"
AC_CONFIG_FILES([
Makefile
lib/python/Plugins/SystemPlugins/NetDrive/meta/Makefile
lib/python/Plugins/SystemPlugins/AudioEffect/Makefile
lib/python/Plugins/SystemPlugins/AudioEffect/meta/Makefile
+lib/python/Plugins/SystemPlugins/AnimationSetup/Makefile
+lib/python/Plugins/SystemPlugins/AnimationSetup/meta/Makefile
lib/python/Tools/Makefile
lib/service/Makefile
lib/components/Makefile
ProgramAssociationConstIterator program;
for (program = pat.getPrograms()->begin(); pmtpid == -1 && program != pat.getPrograms()->end(); ++program)
{
+ ++cnt;
if (eServiceID((*program)->getProgramNumber()) == m_reference.getServiceID())
pmtpid = (*program)->getProgramMapPid();
if (++cnt == 1 && pmtpid_single == -1 && pmtpid == -1)
#include <lib/gdi/accel.h>
#include <time.h>
+#ifdef USE_LIBVUGLES2
+#include <vuplus_gles.h>
+#endif
gFBDC::gFBDC()
{
break;
}
case gOpcode::flush:
+#ifdef USE_LIBVUGLES2
+ if (gles_is_animation())
+ gles_do_animation();
+ else
+ fb->blit();
+#else
fb->blit();
+#endif
+ break;
+ case gOpcode::sendShow:
+ {
+#ifdef USE_LIBVUGLES2
+ gles_set_buffer((unsigned int *)surface.data);
+ gles_set_animation(1, o->parm.setShowHideInfo->point.x(), o->parm.setShowHideInfo->point.y(), o->parm.setShowHideInfo->size.width(), o->parm.setShowHideInfo->size.height());
+#endif
+ break;
+ }
+ case gOpcode::sendHide:
+ {
+#ifdef USE_LIBVUGLES2
+ gles_set_buffer((unsigned int *)surface.data);
+ gles_set_animation(0, o->parm.setShowHideInfo->point.x(), o->parm.setShowHideInfo->point.y(), o->parm.setShowHideInfo->size.width(), o->parm.setShowHideInfo->size.height());
+#endif
break;
+ }
+#ifdef USE_LIBVUGLES2
+ case gOpcode::setView:
+ {
+ gles_viewport(o->parm.setViewInfo->size.width(), o->parm.setViewInfo->size.height(), fb->Stride());
+ break;
+ }
+#endif
default:
gDC::exec(o);
break;
#include <lib/gdi/font.h>
#include <lib/base/init.h>
#include <lib/base/init_num.h>
+#ifdef USE_LIBVUGLES2
+#include <vuplus_gles.h>
+#endif
#ifndef SYNC_PAINT
void *gRC::thread_wrapper(void *ptr)
void *gRC::thread()
{
int need_notify = 0;
+#ifdef USE_LIBVUGLES2
+ if (gles_open()) {
+ gles_state_open();
+ gles_viewport(720, 576, 720 * 4);
+ }
+#endif
#ifndef SYNC_PAINT
while (1)
{
#endif
}
}
+#ifdef USE_LIBVUGLES2
+ gles_state_close();
+ gles_close();
+#endif
#ifndef SYNC_PAINT
pthread_exit(0);
#endif
return;
}
+void gPainter::sendShow(ePoint point, eSize size)
+{
+ if ( m_dc->islocked() )
+ return;
+ gOpcode o;
+ o.opcode=gOpcode::sendShow;
+ o.dc = m_dc.grabRef();
+ o.parm.setShowHideInfo = new gOpcode::para::psetShowHideInfo;
+ o.parm.setShowHideInfo->point = point;
+ o.parm.setShowHideInfo->size = size;
+ m_rc->submit(o);
+}
+
+void gPainter::sendHide(ePoint point, eSize size)
+{
+ if ( m_dc->islocked() )
+ return;
+ gOpcode o;
+ o.opcode=gOpcode::sendHide;
+ o.dc = m_dc.grabRef();
+ o.parm.setShowHideInfo = new gOpcode::para::psetShowHideInfo;
+ o.parm.setShowHideInfo->point = point;
+ o.parm.setShowHideInfo->size = size;
+ m_rc->submit(o);
+}
+
+#ifdef USE_LIBVUGLES2
+void gPainter::setView(eSize size)
+{
+ if ( m_dc->islocked() )
+ return;
+ gOpcode o;
+ o.opcode=gOpcode::setView;
+ o.dc = m_dc.grabRef();
+ o.parm.setViewInfo = new gOpcode::para::psetViewInfo;
+ o.parm.setViewInfo->size = size;
+ m_rc->submit(o);
+}
+#endif
+
gDC::gDC()
{
m_spinner_pic = 0;
break;
case gOpcode::flush:
break;
+ case gOpcode::sendShow:
+ break;
+ case gOpcode::sendHide:
+ break;
+#ifdef USE_LIBVUGLES2
+ case gOpcode::setView:
+ break;
+#endif
case gOpcode::enableSpinner:
enableSpinner();
break;
shutdown,
setCompositing,
+ sendShow,
+ sendHide,
+#ifdef USE_LIBVUGLES2
+ setView,
+#endif
} opcode;
gDC *dc;
} *setOffset;
gCompositingData *setCompositing;
+
+ struct psetShowHideInfo
+ {
+ ePoint point;
+ eSize size;
+ } *setShowHideInfo;
+#ifdef USE_LIBVUGLES2
+ struct psetViewInfo
+ {
+ eSize size;
+ } *setViewInfo;
+#endif
} parm;
};
void setCompositing(gCompositingData *comp);
void flush();
+ void sendShow(ePoint point, eSize size);
+ void sendHide(ePoint point, eSize size);
+#ifdef USE_LIBVUGLES2
+ void setView(eSize size);
+#endif
};
class gDC: public iObject
{
m_screen.m_dirty_region = gRegion(eRect(ePoint(0, 0), size));
m_screen.m_screen_size = size;
+#ifdef USE_LIBVUGLES2
+ gPainter painter(m_screen.m_dc);
+ painter.setView(size);
+#endif
+}
+
+void eWidgetDesktop::sendShow(ePoint point, eSize size)
+{
+ if(m_style_id!=0)
+ return;
+
+ gPainter painter(m_screen.m_dc);
+ painter.sendShow(point, size);
+}
+
+void eWidgetDesktop::sendHide(ePoint point, eSize size)
+{
+ if(m_style_id!=0)
+ return;
+
+ gPainter painter(m_screen.m_dc);
+ painter.sendHide(point, size);
}
void resize(eSize size);
eSize size() const { return m_screen.m_screen_size; }
+ void sendShow(ePoint point, eSize size);
+ void sendHide(ePoint point, eSize size);
private:
ePtrList<eWidget> m_root;
void calcWidgetClipRegion(eWidget *widget, gRegion &parent_visible);
eWindow::eWindow(eWidgetDesktop *desktop, int z): eWidget(0)
{
m_flags = 0;
+ m_animation_mode = 0x11;
m_desktop = desktop;
/* ask style manager for current style */
ePtr<eWindowStyleManager> mgr;
return eWidget::event(event, data, data2);
}
+void eWindow::show()
+{
+ if (m_animation_mode & 0x01)
+ m_desktop->sendShow(position(), size());
+ eWidget::show();
+}
+
+void eWindow::hide()
+{
+ if (m_animation_mode & 0x10)
+ m_desktop->sendHide(position(), size());
+ eWidget::hide();
+}
+
+void eWindow::setAnimationMode(int mode)
+{
+ /*
+ * 0x00 = animation off
+ * 0x01 = show on
+ * 0x10 = hide on
+ * 0x11 = animation on
+ */
+ m_animation_mode = mode;
+}
void setTitle(const std::string &string);
std::string getTitle() const;
eWidget *child() { return m_child; }
+
+ void show();
+ void hide();
enum {
wfNoBorder = 1
void setFlag(int flags);
void clearFlag(int flags);
+ void setAnimationMode(int mode);
protected:
enum eWindowEvents
{
eWidget *m_child;
int m_flags;
eWidgetDesktop *m_desktop;
+ int m_animation_mode;
};
#endif
config.audio.volume = ConfigInteger(default = 100, limits = (0, 100))
self.volumeDialog = session.instantiateDialog(Volume)
+ self.volumeDialog.setAnimationMode(0)
self.muteDialog = session.instantiateDialog(Mute)
+ self.muteDialog.setAnimationMode(0)
self.hideVolTimer = eTimer()
self.hideVolTimer.callback.append(self.volHide)
if session is not None:
from Screens.NumericalTextInputHelpDialog import NumericalTextInputHelpDialog
self.help_window = session.instantiateDialog(NumericalTextInputHelpDialog, self)
+ self.help_window.setAnimationMode(0)
self.help_window.show()
def onDeselect(self, session):
mode = 1
self._keymapType = self.menuItemKeyboardLayout.value
BrowserSetting().setData(url, mode, self._keymapType)
-
- VBController.command('CONTROL_RELOAD_KEYMAP')
+ # send contorller
+ #command_util = getCommandUtil()
+ #command_util.sendCommand('OP_BROWSER_NEED_RELOAD_KEYMAP')
self.close()
def keyRed(self):
'OOIF_BROADCAST_PLAY',
'OOIF_BROADCAST_STOP',
'OOIF_BROADCAST_CHECK',
- 'CONTROL_RELOAD_KEYMAP',
'OPCODE_END'
]
--- /dev/null
+installdir = $(pkglibdir)/python/Plugins/SystemPlugins/AnimationSetup
+
+SUBDIRS = meta
+
+install_PYTHON = \
+ __init__.py \
+ plugin.py
--- /dev/null
+installdir = $(datadir)/meta
+
+dist_install_DATA = plugin_animationsetup.xml
--- /dev/null
+<default>
+ <prerequisites>
+ <tag type="System" />
+ </prerequisites>
+ <info>
+ <author>smlee</author>
+ <name>Animation Setup</name>
+ <packagename>enigma2-plugin-systemplugins-animationsetup</packagename>
+ <shortdescription>Animation Setup</shortdescription>
+ <description>Animation Setup</description>
+ </info>
+ <files type="package">
+ <file type="package" name="enigma2-plugin-systemplugins-animationsetup" />
+ </files>
+</default>
--- /dev/null
+from Screens.Screen import Screen
+from Screens.MessageBox import MessageBox
+from Components.ActionMap import ActionMap
+from Components.ConfigList import ConfigListScreen
+from Components.MenuList import MenuList
+from Components.Sources.StaticText import StaticText
+from Components.config import config, ConfigNumber, ConfigSelectionNumber, getConfigListEntry
+from Plugins.Plugin import PluginDescriptor
+
+from enigma import setAnimation_current, setAnimation_speed
+
+# default = slide to left
+g_default = {
+ "current": 6,
+ "speed" : 20,
+}
+g_max_speed = 30
+
+g_animation_paused = False
+g_orig_show = None
+g_orig_doClose = None
+
+config.misc.window_animation_default = ConfigNumber(default=g_default["current"])
+config.misc.window_animation_speed = ConfigSelectionNumber(1, g_max_speed, 1, default=g_default["speed"])
+
+class AnimationSetupConfig(ConfigListScreen, Screen):
+ skin= """
+ <screen position="center,center" size="600,140" title="Animation Settings">
+ <widget name="config" position="0,0" size="600,100" scrollbarMode="showOnDemand" />
+
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,100" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,100" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,100" size="140,40" alphatest="on" />
+
+ <widget source="key_red" render="Label" position="0,100" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" foregroundColor="#ffffff" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,100" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" foregroundColor="#ffffff" backgroundColor="#1f771f" transparent="1" />
+ <widget source="key_yellow" render="Label" position="280,100" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" foregroundColor="#ffffff" backgroundColor="#a08500" transparent="1" />
+ </screen>
+ """
+
+ def __init__(self, session):
+ self.session = session
+ self.entrylist = []
+
+ Screen.__init__(self, session)
+ ConfigListScreen.__init__(self, self.entrylist)
+
+ self["actions"] = ActionMap(["OkCancelActions", "ColorActions",], {
+ "ok" : self.keyGreen,
+ "green" : self.keyGreen,
+ "yellow" : self.keyYellow,
+ "red" : self.keyRed,
+ "cancel" : self.keyRed,
+ }, -2)
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Save"))
+ self["key_yellow"] = StaticText(_("Default"))
+
+ self.makeConfigList()
+ self.onLayoutFinish.append(self.layoutFinished)
+
+ def layoutFinished(self):
+ self.setTitle(_('Animation Setup'))
+
+ def keyGreen(self):
+ config.misc.window_animation_speed.save()
+ setAnimation_speed(int(config.misc.window_animation_speed.value))
+ self.close()
+
+ def keyRed(self):
+ config.misc.window_animation_speed.cancel()
+ self.close()
+
+ def keyYellow(self):
+ global g_default
+ config.misc.window_animation_speed.value = g_default["speed"]
+ self.makeConfigList()
+
+ def keyLeft(self):
+ ConfigListScreen.keyLeft(self)
+
+ def keyRight(self):
+ ConfigListScreen.keyRight(self)
+
+ def makeConfigList(self):
+ self.entrylist = []
+
+ entrySpeed = getConfigListEntry(_("Animation Speed"), config.misc.window_animation_speed)
+ self.entrylist.append(entrySpeed)
+ self["config"].list = self.entrylist
+ self["config"].l.setList(self.entrylist)
+
+
+class AnimationSetupScreen(Screen):
+ animationSetupItems = [
+ {"idx":0, "name":_("Disable Animations")},
+ {"idx":1, "name":_("Simple fade")},
+ {"idx":2, "name":_("Grow drop")},
+ {"idx":3, "name":_("Grow from left")},
+ {"idx":4, "name":_("Popup")},
+ {"idx":5, "name":_("Slide drop")},
+ {"idx":6, "name":_("Slide left to right")},
+ {"idx":7, "name":_("Slide top to bottom")},
+ {"idx":8, "name":_("Stripes")},
+ ]
+
+ skin = """
+ <screen name="AnimationSetup" position="center,center" size="580,400" title="Animation Setup">
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" zPosition="1" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" zPosition="1" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,0" size="140,40" zPosition="1" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/blue.png" position="420,0" size="140,40" zPosition="1" alphatest="on" />
+
+ <widget source="key_red" render="Label" position="0,0" zPosition="2" size="140,40" font="Regular;20" halign="center" valign="center" foregroundColor="#ffffff" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="2" size="140,40" font="Regular;20" halign="center" valign="center" foregroundColor="#ffffff" backgroundColor="#1f771f" transparent="1" />
+ <widget source="key_yellow" render="Label" position="280,0" zPosition="2" size="140,40" font="Regular;20" halign="center" valign="center" foregroundColor="#ffffff" backgroundColor="#a08500" transparent="1" />
+ <widget source="key_blue" render="Label" position="420,0" zPosition="2" size="140,40" font="Regular;20" halign="center" valign="center" foregroundColor="#ffffff" backgroundColor="#18188b" transparent="1" />
+
+ <widget name="list" position="10,60" size="560,364" scrollbarMode="showOnDemand" />
+ <widget source="introduction" render="Label" position="0,370" size="560,40" zPosition="10" font="Regular;20" valign="center" backgroundColor="#25062748" transparent="1" />
+ </screen>"""
+
+ def __init__(self, session):
+
+ self.skin = AnimationSetupScreen.skin
+ Screen.__init__(self, session)
+
+ self.animationList = []
+
+ self["introduction"] = StaticText(_("* current animation"))
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Save"))
+ self["key_yellow"] = StaticText(_("Setting"))
+ self["key_blue"] = StaticText(_("Preview"))
+
+ self["actions"] = ActionMap(["SetupActions", "ColorActions"],
+ {
+ "cancel": self.keyclose,
+ "save": self.ok,
+ "ok" : self.ok,
+ "yellow": self.config,
+ "blue": self.preview
+ }, -3)
+
+ self["list"] = MenuList(self.animationList)
+
+ self.onLayoutFinish.append(self.layoutFinished)
+
+ def layoutFinished(self):
+ l = []
+ for x in self.animationSetupItems:
+ key = x.get("idx", 0)
+ name = x.get("name", "??")
+ if key == config.misc.window_animation_default.value:
+ name = "* %s" % (name)
+ l.append( (name, key) )
+
+ self["list"].setList(l)
+
+ def ok(self):
+ current = self["list"].getCurrent()
+ if current:
+ key = current[1]
+ config.misc.window_animation_default.value = key
+ config.misc.window_animation_default.save()
+ setAnimation_current(key)
+ self.close()
+
+ def keyclose(self):
+ setAnimation_current(config.misc.window_animation_default.value)
+ setAnimation_speed(int(config.misc.window_animation_speed.value))
+ self.close()
+
+ def config(self):
+ self.session.open(AnimationSetupConfig)
+
+ def preview(self):
+ current = self["list"].getCurrent()
+ if current:
+ global g_animation_paused
+ tmp = g_animation_paused
+ g_animation_paused = False
+
+ setAnimation_current(current[1])
+ self.session.open(MessageBox, current[0], MessageBox.TYPE_INFO, timeout=3)
+ g_animation_paused = tmp
+
+def checkAttrib(self, paused):
+ global g_animation_paused
+ if g_animation_paused is paused and self.skinAttributes is not None:
+ for (attr, value) in self.skinAttributes:
+ if attr == "animationPaused" and value in ("1", "on"):
+ return True
+ return False
+
+def screen_show(self):
+ global g_animation_paused
+ if g_animation_paused:
+ setAnimation_current(0)
+
+ g_orig_show(self)
+
+ if checkAttrib(self, False):
+ g_animation_paused = True
+
+def screen_doClose(self):
+ global g_animation_paused
+ if checkAttrib(self, True):
+ g_animation_paused = False
+ setAnimation_current(config.misc.window_animation_default.value)
+ g_orig_doClose(self)
+
+def animationSetupMain(session, **kwargs):
+ session.open(AnimationSetupScreen)
+
+def startAnimationSetup(menuid):
+ if menuid != "system":
+ return []
+
+ return [( _("Animations"), animationSetupMain, "animation_setup", None)]
+
+def sessionAnimationSetup(session, reason, **kwargs):
+ setAnimation_current(config.misc.window_animation_default.value)
+ setAnimation_speed(int(config.misc.window_animation_speed.value))
+
+ global g_orig_show, g_orig_doClose
+ if g_orig_show is None:
+ g_orig_show = Screen.show
+ if g_orig_doClose is None:
+ g_orig_doClose = Screen.doClose
+ Screen.show = screen_show
+ Screen.doClose = screen_doClose
+
+def Plugins(**kwargs):
+ plugin_list = [
+ PluginDescriptor(
+ name = "Animations",
+ description = "Setup UI animations",
+ where = PluginDescriptor.WHERE_MENU,
+ needsRestart = False,
+ fnc = startAnimationSetup),
+ PluginDescriptor(
+ where = PluginDescriptor.WHERE_SESSIONSTART,
+ needsRestart = False,
+ fnc = sessionAnimationSetup),
+ ]
+ return plugin_list;
TempFanControl Fancontrol FPGAUpgrade WirelessLanSetup ManualFancontrol \
Blindscan RemoteControlCode UI3DSetup UIPositionSetup HDMICEC LEDBrightnessSetup \
FirmwareUpgrade CrashReport 3GModemManager WirelessAccessPoint ZappingModeSelection \
- DeviceManager TransCodingSetup WOLSetup NetDrive AudioEffect
+ DeviceManager TransCodingSetup WOLSetup NetDrive AudioEffect AnimationSetup
install_PYTHON = \
__init__.py
if self.session.pipshown:
del self.session.pip
self.session.pip = self.session.instantiateDialog(PictureInPicture)
+ self.session.pip.setAnimationMode(0)
self.session.pip.show()
newservice = self.csel.servicelist.getCurrent()
if self.session.pip.playService(newservice):
self.onLayoutFinish.append(self.onCreate)
self.info = session.instantiateDialog(RadioInfoBar) # our simple infobar
+ self.info.setAnimationMode(0)
self["actions"] = ActionMap(["OkCancelActions", "TvRadioActions"],
{
class InfoBarDish:
def __init__(self):
self.dishDialog = self.session.instantiateDialog(Dish)
+ self.dishDialog.setAnimationMode(0)
class InfoBarUnhandledKey:
def __init__(self):
self.unhandledKeyDialog = self.session.instantiateDialog(UnhandledKey)
+ self.unhandledKeyDialog.setAnimationMode(0)
self.hideUnhandledKeySymbolTimer = eTimer()
self.hideUnhandledKeySymbolTimer.callback.append(self.unhandledKeyDialog.hide)
self.checkUnusedTimer = eTimer()
"""provides RDS and Rass support/display"""
def __init__(self):
self.rds_display = self.session.instantiateDialog(RdsInfoDisplay)
+ self.rds_display.setAnimationMode(0)
self.rass_interactive = None
self.__event_tracker = ServiceEventTracker(screen=self, eventmap=
def __init__(self, screen=PVRState, force_show = False):
self.onPlayStateChanged.append(self.__playStateChanged)
self.pvrStateDialog = self.session.instantiateDialog(screen)
+ self.pvrStateDialog.setAnimationMode(0)
self.onShow.append(self._mayShow)
self.onHide.append(self.pvrStateDialog.hide)
self.force_show = force_show
self.session.pipshown = False
else:
self.session.pip = self.session.instantiateDialog(PictureInPicture)
+ self.session.pip.setAnimationMode(0)
self.session.pip.show()
newservice = self.session.nav.getCurrentlyPlayingServiceReference()
if self.session.pip.playService(newservice):
def __init__(self):
object.__init__(self)
self.subtitle_window = self.session.instantiateDialog(SubtitleDisplay)
+ self.subtitle_window.setAnimationMode(0)
self.__subtitles_enabled = False
self.__event_tracker = ServiceEventTracker(screen=self, eventmap=
if isinstance(val, GUIComponent) or isinstance(val, Source):
val.onHide()
+ def setAnimationMode(self, mode):
+ if self.instance:
+ self.instance.setAnimationMode(mode)
+
def __repr__(self):
return str(type(self))
self.configInstance = self.session.instantiateDialog(self.wizard[self.currStep]["config"]["screen"])
else:
self.configInstance = self.session.instantiateDialog(self.wizard[self.currStep]["config"]["screen"], eval(self.wizard[self.currStep]["config"]["args"]))
+ self.configInstance.setAnimationMode(0)
self["config"].l.setList(self.configInstance["config"].list)
callbacks = self.configInstance["config"].onSelectionChanged
self.configInstance["config"].destroy()
extern void addFont(const char *filename, const char *alias, int scale_factor, int is_replacement);
extern const char *getEnigmaVersionString();
extern void dump_malloc_stats(void);
+extern void setAnimation_current(int a);
+extern void setAnimation_speed(int speed);
%}
extern void addFont(const char *filename, const char *alias, int scale_factor, int is_replacement);
extern eApplication *getApplication();
extern const char *getEnigmaVersionString();
extern void dump_malloc_stats(void);
+extern void setAnimation_current(int a);
+extern void setAnimation_speed(int speed);
@BASE_LIBS@ \
@LIBGIF_LIBS@ \
@LIBJPEG_LIBS@ \
+ @LIBVUGLES2_LIBS@ \
@LIBSDL_LIBS@ \
@LIBXINE_LIBS@ \
@LIBXMLCCWRAP_LIBS@ \
struct mallinfo mi = mallinfo();
eDebug("MALLOC: %d total", mi.uordblks);
}
+
+#ifdef USE_LIBVUGLES2
+#include <vuplus_gles.h>
+
+void setAnimation_current(int a)
+{
+ gles_set_animation_func(a);
+}
+
+void setAnimation_speed(int speed)
+{
+ gles_set_animation_speed(speed);
+}
+#else
+void setAnimation_current(int a) {}
+void setAnimation_speed(int speed) {}
+#endif
guiObject.move(parsePosition(value, scale, desktop, guiObject.csize()))
elif attrib == 'size':
guiObject.resize(parseSize(value, scale))
+ elif attrib == 'animationPaused':
+ pass
+ elif attrib == 'animationMode':
+ guiObject.setAnimationMode(
+ { "disable": 0x00,
+ "off": 0x00,
+ "offshow": 0x10,
+ "offhide": 0x01,
+ "onshow": 0x01,
+ "onhide": 0x10,
+ }[value])
elif attrib == 'title':
guiObject.setTitle(_(value))
elif attrib == 'text':