diff options
Diffstat (limited to 'superkaramba/examples/mouseDrag/karmix/karmix.py')
-rw-r--r-- | superkaramba/examples/mouseDrag/karmix/karmix.py | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/superkaramba/examples/mouseDrag/karmix/karmix.py b/superkaramba/examples/mouseDrag/karmix/karmix.py new file mode 100644 index 0000000..225eefb --- /dev/null +++ b/superkaramba/examples/mouseDrag/karmix/karmix.py @@ -0,0 +1,190 @@ +# Karmix 0.1 +# Written by Tian ( http://www.c-sait.net ) +# Functionality moved by Ryan Nickell (p0z3r@mail.com) + +# This theme is demonstrates how to use mouse buttons +# being dragged in a theme. +# It shows how to use it for slider bars, but you can +# also apply this to anything you want like moving images +# and other things programmatically. + +#this import statement allows access to the karamba functions +import karamba + +import ossaudiodev + +mixer = "" +onLeftButton = 0 +onMidButton = 0 +#this is called when you widget is initialized +def initWidget(widget): + global mixer + mixer = ossaudiodev.openmixer() + + vol_main = karamba.getThemeImage(widget, "vol_main") + (l, r) = mixer.get(ossaudiodev.SOUND_MIXER_VOLUME) + vol_main_value = max(l, r) + karamba.resizeImage(widget, vol_main, vol_main_value, 10) + + vol_pcm = karamba.getThemeImage(widget, "vol_pcm") + (l, r) = mixer.get(ossaudiodev.SOUND_MIXER_PCM) + vol_pcm_value = max(l, r) + karamba.resizeImage(widget, vol_pcm, vol_pcm_value, 10) + + vol_cd = karamba.getThemeImage(widget, "vol_cd") + (l, r) = mixer.get(ossaudiodev.SOUND_MIXER_CD) + vol_cd_value = max(l, r) + karamba.resizeImage(widget, vol_cd, vol_cd_value, 10) + + vol_mic = karamba.getThemeImage(widget, "vol_mic") + (l, r) = mixer.get(ossaudiodev.SOUND_MIXER_MIC) + vol_mic_value = max(l, r) + karamba.resizeImage(widget, vol_mic, vol_mic_value, 10) + + karamba.redrawWidget(widget) + +#this is called everytime your widget is updated +#the update inverval is specified in the .theme file +def widgetUpdated(widget): + pass + +#This gets called everytime our widget is clicked. +#Notes: +# widget = reference to our widget +# x = x position (relative to our widget) +# y = y position (relative to our widget) +# botton = button clicked: +# 1 = Left Mouse Button +# 2 = Middle Mouse Button +# 3 = Right Mouse Button, but this will never happen +# because the right mouse button brings up the +# Karamba menu. +# 4,5 = Scroll wheel up and down +def widgetClicked(widget, x, y, button): + pass + +#This gets called everytime our widget is clicked. +#Notes +# widget = reference to our widget +# x = x position (relative to our widget) +# y = y position (relative to our widget) +# botton = button being held: +# 0 = No Mouse Button +# 1 = Left Mouse Button +# 2 = Middle Mouse Button +# 3 = Right Mouse Button, but this will never happen +# because the right mouse button brings up the +# Karamba menu. +def widgetMouseMoved(widget, x, y, button): + global onMidButton,onLeftButton + global mixer + if(button == 1 and onLeftButton == 0): + # We are holding the left button here + if ((y>=17) and (y<=28)): + vol_main = karamba.getThemeImage(widget, "vol_main") + vol_main_value = max(min(x-40,100),0) + karamba.resizeImage(widget, vol_main, vol_main_value, 10) + mixer.set(ossaudiodev.SOUND_MIXER_VOLUME, (vol_main_value, vol_main_value)) + karamba.redrawWidget(widget) + + if ((y>=47) and (y<=58)): + vol_pcm = karamba.getThemeImage(widget, "vol_pcm") + vol_pcm_value = max(min(x-40,100),0) + karamba.resizeImage(widget, vol_pcm, vol_pcm_value, 10) + mixer.set(ossaudiodev.SOUND_MIXER_PCM, (vol_pcm_value, vol_pcm_value)) + karamba.redrawWidget(widget) + + if ((y>=77) and (y<=88)): + vol_cd = karamba.getThemeImage(widget, "vol_cd") + vol_cd_value = max(min(x-40,100),0) + karamba.resizeImage(widget, vol_cd, vol_cd_value, 10) + mixer.set(ossaudiodev.SOUND_MIXER_CD, (vol_cd_value, vol_cd_value)) + karamba.redrawWidget(widget) + + if ((y>=107) and (y<=118)): + vol_mic = karamba.getThemeImage(widget, "vol_mic") + vol_mic_value = max(min(x-40,100),0) + karamba.resizeImage(widget, vol_mic, vol_mic_value, 10) + mixer.set(ossaudiodev.SOUND_MIXER_MIC, (vol_mic_value, vol_mic_value)) + karamba.redrawWidget(widget) + + if(button == 2 and onMidButton == 0): + # We are holding the middle button here + pass + +#This gets called when an item is clicked in a popup menu you have created. +# menu = a reference to the menu +# id = the number of the item that was clicked. +def menuItemClicked(widget, menu, id): + pass + +#This gets called when an item is clicked in the theme CONFIGURATION menu, +#not the popup menus that you create. +# key = the reference to the configuration key that was changed +# value = the new value (true or false) that was selected +def menuOptionChanged(widget, key, value): + pass + +#This gets called when a meter (image, text, etc) is clicked. +# NOTE you must use attachClickArea() to make a meter +# clickable. +# widget = reference to your theme +# meter = the meter clicked +# button = the button clicked (see widgetClicked for button numbers) +def meterClicked(widget, meter, button): + pass + +#This gets called when a command you have executed with executeInteractive() outputs something +#to stdout. This way you can get the output of for example kdialog without freezing up the widget +#waiting for kdialog to end. +# widget = reference to your theme +# pid = process number of the program outputting (use this if you execute more than out process) +# output = the text the program outputted to stdout +def commandOutput(widget, pid, output): + pass + +#This gets called when an item is dropped on this widget. +# NOTE you have to call acceptDrops() before your widget will accept drops. +# widget = reference to your theme +# dropText = the text of the dropped item (probably a URL to it's location in KDE) +def itemDropped(widget, dropText): + pass + + +#This gets called when a new program is LOADING in KDE. When it is done +#loading, startupRemoved() is called, followed by taskAdded(). +# widget = reference to your widget +# task = A refence to the task that is starting. +def startupAdded(widget, startup): + pass + +#This gets called when a new program is done LOADING in KDE. +# widget = reference to your widget +# task = A refence to the task that just finished loading. +def startupRemoved(widget, startup): + pass + +#This is called every time a new task (program) is started in KDE. +# widget = reference to your widget +# task = A refence to the new task. Call getTaskInfo() with this reference +# to get the name, etc of this new task. +def taskAdded(widget, task): + pass + +#This is called everytime a task (program) is closed in KDE. +# widget = reference to your widget +# task = A refence to the task. +def taskRemoved(widget, task): + pass + +#This is called everytime a different task gains focus (IE, the user clicks +#on a different window). +# widget = reference to your widget +# task = A refence to the task. Call getTaskInfo() with this reference +# to get the name, etc of this new task. +def activeTaskChanged(widget, task): + pass + +# This will be printed when the widget loads. +print "Loaded my python extension!" + |