Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--intern/ghost/GHOST_Types.h8
-rw-r--r--intern/ghost/intern/GHOST_EventPrinter.cpp12
-rw-r--r--intern/ghost/intern/GHOST_SystemWin32.cpp17
-rw-r--r--source/blender/makesrna/intern/rna_object_api.c2
-rw-r--r--source/blender/makesrna/intern/rna_wm.c5
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c7
-rw-r--r--source/blender/windowmanager/wm_event_types.h6
7 files changed, 54 insertions, 3 deletions
diff --git a/intern/ghost/GHOST_Types.h b/intern/ghost/GHOST_Types.h
index af17b10bf00..c3bc8d17b65 100644
--- a/intern/ghost/GHOST_Types.h
+++ b/intern/ghost/GHOST_Types.h
@@ -353,7 +353,13 @@ typedef enum {
GHOST_kKeyF21,
GHOST_kKeyF22,
GHOST_kKeyF23,
- GHOST_kKeyF24
+ GHOST_kKeyF24,
+
+ // Multimedia keypad buttons
+ GHOST_kKeyMediaPlay,
+ GHOST_kKeyMediaStop,
+ GHOST_kKeyMediaFirst,
+ GHOST_kKeyMediaLast
} GHOST_TKey;
typedef enum {
diff --git a/intern/ghost/intern/GHOST_EventPrinter.cpp b/intern/ghost/intern/GHOST_EventPrinter.cpp
index 697ced64a70..b3d936aedbe 100644
--- a/intern/ghost/intern/GHOST_EventPrinter.cpp
+++ b/intern/ghost/intern/GHOST_EventPrinter.cpp
@@ -325,6 +325,18 @@ void GHOST_EventPrinter::getKeyString(GHOST_TKey key, STR_String& str) const
case GHOST_kKeyNumpadSlash:
str = "NumpadSlash";
break;
+ case GHOST_kKeyMediaPlay:
+ str = "MediaPlayPause";
+ break;
+ case GHOST_kKeyMediaStop:
+ str = "MediaStop";
+ break;
+ case GHOST_kKeyMediaFirst:
+ str = "MediaFirst";
+ break;
+ case GHOST_kKeyMediaLast:
+ str = "MediaLast";
+ break;
default:
str = "unknown";
break;
diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp
index 24f9e96b109..64a1c209226 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemWin32.cpp
@@ -136,6 +136,19 @@
#define VK_GR_LESS 0xE2
#endif // VK_GR_LESS
+#ifndef VK_MEDIA_NEXT_TRACK
+#define VK_MEDIA_NEXT_TRACK 0xB0
+#endif // VK_MEDIA_NEXT_TRACK
+#ifndef VK_MEDIA_PREV_TRACK
+#define VK_MEDIA_PREV_TRACK 0xB1
+#endif // VK_MEDIA_PREV_TRACK
+#ifndef VK_MEDIA_STOP
+#define VK_MEDIA_STOP 0xB2
+#endif // VK_MEDIA_STOP
+#ifndef VK_MEDIA_PLAY_PAUSE
+#define VK_MEDIA_PLAY_PAUSE 0xB3
+#endif // VK_MEDIA_PLAY_PAUSE
+
GHOST_SystemWin32::GHOST_SystemWin32()
: m_hasPerformanceCounter(false), m_freq(0), m_start(0)
@@ -640,6 +653,10 @@ GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, WPARAM wParam, L
case VK_OEM_8:
key = ((GHOST_SystemWin32*)getSystem())->processSpecialKey(window, wParam, lParam);
break;
+ case VK_MEDIA_PLAY_PAUSE: key = GHOST_kKeyMediaPlay; break;
+ case VK_MEDIA_STOP: key = GHOST_kKeyMediaStop; break;
+ case VK_MEDIA_PREV_TRACK: key = GHOST_kKeyMediaFirst; break;
+ case VK_MEDIA_NEXT_TRACK: key = GHOST_kKeyMediaLast; break;
default:
key = GHOST_kKeyUnknown;
break;
diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c
index ac4b86b4036..9f1ef7396c0 100644
--- a/source/blender/makesrna/intern/rna_object_api.c
+++ b/source/blender/makesrna/intern/rna_object_api.c
@@ -331,7 +331,7 @@ static PointerRNA rna_Object_shape_key_add(Object *ob, bContext *C, ReportList *
int rna_Object_is_visible(Object *ob, Scene *sce)
{
- return !(ob->restrictflag & OB_RESTRICT_VIEW) && ob->lay & sce->lay;
+ return !(ob->restrictflag & OB_RESTRICT_VIEW) && (ob->lay & sce->lay);
}
/*
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index b4500a77f84..fd328a1545b 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -241,6 +241,11 @@ EnumPropertyItem event_type_items[] = {
{PAGEDOWNKEY, "PAGE_DOWN", 0, "Page Down", ""},
{ENDKEY, "END", 0, "End", ""},
{0, "", 0, NULL, NULL},
+ {MEDIAPLAY, "MEDIA_PLAY", 0, "Media Play/Pause", ""},
+ {MEDIASTOP, "MEDIA_STOP", 0, "Media Stop", ""},
+ {MEDIAFIRST, "MEDIA_FIRST", 0, "Media First", ""},
+ {MEDIALAST, "MEDIA_LAST", 0, "Media Last", ""},
+ {0, "", 0, NULL, NULL},
{WINDEACTIVATE, "WINDOW_DEACTIVATE", 0, "Window Deactivate", ""},
{TIMER, "TIMER", 0, "Timer", ""},
{TIMER0, "TIMER0", 0, "Timer 0", ""},
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index af78e7113f7..39a6e5b27b5 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2196,7 +2196,12 @@ static int convert_key(GHOST_TKey key)
case GHOST_kKeyNumpadSlash: return PADSLASHKEY;
case GHOST_kKeyGrLess: return GRLESSKEY;
-
+
+ case GHOST_kKeyMediaPlay: return MEDIAPLAY;
+ case GHOST_kKeyMediaStop: return MEDIASTOP;
+ case GHOST_kKeyMediaFirst: return MEDIAFIRST;
+ case GHOST_kKeyMediaLast: return MEDIALAST;
+
default:
return UNKNOWNKEY; /* GHOST_kKeyUnknown */
}
diff --git a/source/blender/windowmanager/wm_event_types.h b/source/blender/windowmanager/wm_event_types.h
index 5d7eb625f78..c3573f86c6d 100644
--- a/source/blender/windowmanager/wm_event_types.h
+++ b/source/blender/windowmanager/wm_event_types.h
@@ -207,6 +207,12 @@
#define OSKEY 172
#define GRLESSKEY 173
+// XXX: are these codes ok?
+#define MEDIAPLAY 174
+#define MEDIASTOP 175
+#define MEDIAFIRST 176
+#define MEDIALAST 177
+
/* for event checks */
/* only used for KM_TEXTINPUT, so assume that we want all user-inputtable ascii codes included */
#define ISTEXTINPUT(event) (event >=' ' && event <=255)