summaryrefslogtreecommitdiffstats
path: root/superkaramba/examples/mouseDrag/karmix/karmix.py
diff options
context:
space:
mode:
Diffstat (limited to 'superkaramba/examples/mouseDrag/karmix/karmix.py')
-rw-r--r--superkaramba/examples/mouseDrag/karmix/karmix.py190
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!"
+