Hi Jason,

Jason Gerecke said the following on 10/29/2012 10:21 PM:
+Applications may not show the labels (using CSS) and yet use them to locate
+various text and captions associated with the buttons.
This line is confusing. I gather what it means is roughly
"Applications should hide the labels (using CSS) or replace the text
with an appropriate caption."? (ignoring, of course, that CSS alone
isn't capable of replacing text).

Much better indeed. Updated.

diff --git a/data/images/intuos5-m.svg b/data/images/intuos5-m.svg
Am I misreading the spec, or are the button ID/classes wrong here? You
have the mode switch button as 'I' instead of 'A'...

Ah, you're right of course! Updated patch attached.

Thanks for the review!
Olivier.
>From b295643116c8e86aaa78c64302e92194cc9e29a7 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofour...@redhat.com>
Date: Thu, 25 Oct 2012 13:16:55 +0200
Subject: [PATCH 1/4] data: add image data for cintiq 12wx and Intuos5-m

as SVG files.
---
 configure.ac                |    1 +
 data/Makefile.am            |    2 +
 data/cintiq-12wx.tablet     |    1 +
 data/images/Makefile.am     |    4 +
 data/images/README          |  125 +++++++++++++++++++++++++++
 data/images/cintiq-12wx.svg |  195 +++++++++++++++++++++++++++++++++++++++++++
 data/images/intuos5-m.svg   |  158 ++++++++++++++++++++++++++++++++++
 data/intuos5-m.tablet       |    1 +
 data/intuos5-touch-m.tablet |    1 +
 9 files changed, 488 insertions(+), 0 deletions(-)
 create mode 100644 data/images/Makefile.am
 create mode 100644 data/images/README
 create mode 100644 data/images/cintiq-12wx.svg
 create mode 100644 data/images/intuos5-m.svg

diff --git a/configure.ac b/configure.ac
index e510e2f..3fd7aa9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,6 +34,7 @@ PKG_CHECK_MODULES(GLIB, glib-2.0 gudev-1.0)
 
 AC_CONFIG_FILES([Makefile
                  data/Makefile
+                 data/images/Makefile
                  doc/Makefile
                  test/Makefile
                  tools/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index 9f2e8d2..5713a78 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -5,3 +5,5 @@ libwacomstylusdir = $(datadir)/libwacom
 dist_libwacomstylus_DATA =  $(shell find $(top_srcdir)/data -name "*.stylus" -printf "%P\n")
 
 EXTRA_DIST = wacom.example
+
+SUBDIRS = images
diff --git a/data/cintiq-12wx.tablet b/data/cintiq-12wx.tablet
index 4cb4f27..eccd782 100644
--- a/data/cintiq-12wx.tablet
+++ b/data/cintiq-12wx.tablet
@@ -36,6 +36,7 @@ Class=Cintiq
 DeviceMatch=usb:056a:00c6
 Width=10
 Height=7
+Image=cintiq-12wx.svg
 Styli=0x913;0x91b;0x813;0x81b;0x823;0x82b;0x801;0x885;
 
 [Features]
diff --git a/data/images/Makefile.am b/data/images/Makefile.am
new file mode 100644
index 0000000..1858f5a
--- /dev/null
+++ b/data/images/Makefile.am
@@ -0,0 +1,4 @@
+libwacomlayoutsdir = $(datadir)/libwacom/images
+dist_libwacomlayouts_DATA =  $(shell find $(top_srcdir)/data/images -name "*.svg" -printf "%P\n")
+
+EXTRA_DIST = README
diff --git a/data/images/README b/data/images/README
new file mode 100644
index 0000000..79d54e0
--- /dev/null
+++ b/data/images/README
@@ -0,0 +1,125 @@
+SVG images have a dual purpose, providing an accurate representation of the
+tablets and also providing the size and location of the various controls on
+the device that can be queried by various applications that may need it.
+
+To allow applications to identify each control in the SVG and also apply a
+CSS if desired, the following naming convention applies:
+
+* Buttons
+
+Each button ID in the SVG is built of the string "Button" with ID of the
+button between 'A' and 'Z':
+
+    id="ButtonA"
+    id="ButtonB"
+    ...
+    id="ButtonZ"
+
+The SVG class must contain the button ID of the button between 'A' and 'Z'
+and the more generic class "Button"
+
+    class="A Button"
+    class="B Button"
+    ...
+    class="Z Button"
+
+If the button is a mode-switch button as well, the class list should also
+contain "ModeSwitch":
+
+    class="I ModeSwitch Button"
+
+This would allow to modify the appearance of all the buttons at once via a CSS,
+yet allowing to customize the appearance of single buttons by using the button
+ID.
+
+* Touch Rings/Strips
+
+Touch rings use the following convention:
+
+ - First touch ring:
+
+    id="Ring"
+    class="Ring TouchRing"
+
+ - Second touch ring:
+
+    id="Ring2"
+    class="Ring2 TouchRing"
+
+ - First touch strip:
+
+    id="Strip"
+    class="Strip TouchStrip"
+
+ - Second touch strip:
+
+    id="Strip2"
+    class="Strip2 TouchStrip"
+
+* Labels
+
+The role of the labels in the SVG is to give applications an indication on
+where to place the caption for each button. The actual content of the text
+in the SVG image may not be relevant, what matters is the actual location.
+
+Applications should hide the labels (using CSS) or replace the text with an
+appropriate caption.
+
+ - Button labels
+
+Each button's label ID in the SVG is made of the string "Label" with ID of the
+button to which it applies, between 'A' and 'Z'.
+
+Class includes both the button ID and the string "Label".
+    id="LabelA"
+    class="A Label"
+
+For the special case of mode-switch buttons, the class also list "ModeSwitch":
+
+    id="LabelI"
+    class="I ModeSwitch Label"
+
+ - Touchring button labels
+
+Touch-rings and touch-strips generate Up and Down events, therefore 2 different
+labels are needed for each touch-ring/touch-strip control.
+
+    id="LabelRingUp"
+    class="RingUp Ring Label"
+
+  and
+
+    id="LabelRingDown"
+    class="RingDown Ring Label"
+
+The second touch-ring button is identified by "Ring2" in place of "Ring":
+
+    id="LabelRing2Up"
+    class="Ring2Up Ring2 Label"
+
+  and
+
+    id="LabelRingDown"
+    class="Ring2Down Ring2 Label"
+
+Touchstrips button follow the same naming scheme, using "Strip" and "Strip2"
+to name the first and second touch-strip.
+
+    id="LabelStripUp"
+    class="StripUp Strip Label"
+
+  and
+
+    id="LabelStripDown"
+    class="StripDown Strip Label"
+
+Second touch-strip:
+
+    id="LabelStrip2Up"
+    class="Strip2Up Strip2 Label"
+
+  and
+
+    id="LabelRingDown"
+    class="Strip2Down Strip2 Label"
+
diff --git a/data/images/cintiq-12wx.svg b/data/images/cintiq-12wx.svg
new file mode 100644
index 0000000..30c00c5
--- /dev/null
+++ b/data/images/cintiq-12wx.svg
@@ -0,0 +1,195 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg
+   xmlns="http://www.w3.org/2000/svg";
+   version="1.1"
+   width="405"
+   height="270"
+   id="cintiq-12wx"
+   style="color:#000000;stroke:#bebebe;fill:#000000;stroke-linejoin:round;stroke-width:1;font-size:8">
+  <title
+     id="Buttontitle">Wacom Cintiq 12WX</title>
+  <rect
+    id="ButtonA"
+    class="A Button"
+    width="11"
+    height="17"
+    x="40"
+    y="54"/>
+  <text
+    id="LabelA"
+    class="A Label"
+    x="60"
+    y="63" >
+    A
+    </text>
+  <rect
+    id="ButtonB"
+    class="B Button"
+    width="11"
+    height="17"
+    x="40"
+    y="72"/>
+  <text
+    id="LabelB"
+    class="B Label"
+    x="60"
+    y="81" >
+    B
+    </text>
+  <rect
+    id="ButtonC"
+    class="C Button"
+    width="11"
+    height="35"
+    x="28"
+    y="54"/>
+  <text
+    id="LabelC"
+    class="C Label"
+    x="60"
+    y="72" >
+    C
+    </text>
+  <rect
+    id="ButtonD"
+    class="D Button"
+    width="23"
+    height="11"
+    x="28"
+    y="90"/>
+  <text
+    id="LabelD"
+    class="D Label"
+    x="60"
+    y="96" >
+    D
+    </text>
+  <rect
+    id="ButtonE"
+    class="E Button"
+    width="11"
+    height="17"
+    x="352"
+    y="54"/>
+  <text
+    id="LabelE"
+    class="E Label"
+    x="342"
+    y="63" >
+    E
+    </text>
+  <rect
+    id="ButtonF"
+    class="F Button"
+    width="11"
+    height="17"
+    x="352"
+    y="72"/>
+  <text
+    id="LabelF"
+    class="F Label"
+    x="342"
+    y="81" >
+    F
+    </text>
+  <rect
+    id="ButtonG"
+    class="G Button"
+    width="11"
+    height="35"
+    x="364"
+    y="54"/>
+  <text
+    id="LabelG"
+    class="G Label"
+    x="342"
+    y="72" >
+    G
+    </text>
+  <rect
+    id="ButtonH"
+    class="H Button"
+    width="23"
+    height="11"
+    x="352"
+    y="90"/>
+  <text
+    id="LabelH"
+    class="H Label"
+    x="342"
+    y="96" >
+    H
+    </text>
+  <rect
+    id="ButtonI"
+    class="I Button"
+    width="23"
+    height="11"
+    x="28"
+    y="42"/>
+  <text
+    id="LabelI"
+    class="I Label"
+    x="60"
+    y="51" >
+    I
+    </text>
+  <rect
+    id="ButtonJ"
+    class="J Button"
+    width="23"
+    height="11"
+    x="352"
+    y="42"/>
+  <text
+    id="LabelJ"
+    class="J Label"
+    x="342"
+    y="51" >
+    J
+    </text>
+  <rect
+    id="Strip"
+    class="Strip TouchStrip"
+    width="12"
+    height="60"
+    x="10"
+    y="41" />
+  <text
+    id="LabelStripUp"
+    class="StripUp Strip Label"
+    x="16"
+    y="30" >
+    Up
+    </text>
+  <text
+    id="LabelStripDown"
+    class="StripDown Strip Label"
+    x="16"
+    y="110" >
+    Down
+    </text>
+  <rect
+    id="Strip2"
+    class="Strip2 TouchStrip"
+    width="12"
+    height="60"
+    x="382"
+    y="41" />
+  <text
+    id="LabelStrip2Up"
+    class="Strip2Up Strip2 Label"
+    x="388"
+    y="30" >
+    Up
+    </text>
+  <text
+    id="LabelStrip2Down"
+    class="Strip2Down Strip2 Label"
+    x="388"
+    y="110" >
+    Down
+    </text>
+</svg>
diff --git a/data/images/intuos5-m.svg b/data/images/intuos5-m.svg
new file mode 100644
index 0000000..aa6515d
--- /dev/null
+++ b/data/images/intuos5-m.svg
@@ -0,0 +1,158 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg
+   xmlns="http://www.w3.org/2000/svg";
+   version="1.1"
+   width="380"
+   height="250"
+   id="intuos5-m"
+   style="color:#000000;stroke:#bebebe;fill:#f0f0f0;stroke-linejoin:round;stroke-width:1;font-size:8">
+  <title
+     id="title">Wacom Intuos5 M Touch</title>
+  <rect
+    id="ButtonB"
+    class="B Button"
+    width="20"
+    height="12"
+    x="24"
+    y="40" />
+  <text
+    id="LabelB"
+    class="B Label"
+    x="50"
+    y="46" >
+    A
+    </text>
+  <rect
+    id="ButtonC"
+    class="C Button"
+    width="20"
+    height="12"
+    x="24"
+    y="54" />
+  <text
+    id="LabelC"
+    class="C Label"
+    x="50"
+    y="60" >
+    B
+    </text>
+  <rect
+    id="ButtonD"
+    class="D Button"
+    width="20"
+    height="12"
+    x="24"
+    y="68" />
+  <text
+    id="LabelD"
+    class="D Label"
+    x="50"
+    y="74" >
+    C
+    </text>
+  <rect
+    id="ButtonE"
+    class="E Button"
+    width="20"
+    height="12"
+    x="24"
+    y="82" />
+  <text
+    id="LabelE"
+    class="E Label"
+    x="50"
+    y="88" >
+    D
+    </text>
+  <rect
+    id="ButtonF"
+    class="F Button"
+    width="20"
+    height="12"
+    x="24"
+    y="156" />
+  <text
+    id="LabelF"
+    class="F Label"
+    x="50"
+    y="162" >
+    E
+    </text>
+  <rect
+    id="ButtonG"
+    class="G Button"
+    width="20"
+    height="12"
+    x="24"
+    y="170" />
+  <text
+    id="LabelG"
+    class="G Label"
+    x="50"
+    y="176" >
+    F
+    </text>
+  <rect
+    id="ButtonH"
+    class="H Button"
+    width="20"
+    height="12"
+    x="24"
+    y="184" />
+  <text
+    id="LabelH"
+    class="H Label"
+    x="50"
+    y="190" >
+    G
+    </text>
+  <rect
+    id="ButtonI"
+    class="I Button"
+    width="20"
+    height="12"
+    x="24"
+    y="198" />
+  <text
+    id="LabelI"
+    class="I Label"
+    x="50"
+    y="206" >
+    H
+    </text>
+  <circle
+    id="Ring"
+    class="Ring TouchRing"
+    cx="34"
+    cy="125"
+    r="19.5" />
+  <text
+    id="LabelRingUp"
+    class="RingUp Ring Label"
+    x="60"
+    y="105" >
+    Up
+    </text>
+  <text
+    id="LabelRingDown"
+    class="RingDown Ring Label"
+    x="60"
+    y="145" >
+    Down
+    </text>
+  <circle
+    id="ButtonA"
+    class="A ModeSwitch Button"
+    cx="34"
+    cy="125"
+    r="9.5" />
+  <text
+    id="LabelA"
+    class="A ModeSwitch Label"
+    x="60"
+    y="125" >
+    I
+    </text>
+</svg>
diff --git a/data/intuos5-m.tablet b/data/intuos5-m.tablet
index fa92f19..68456bd 100644
--- a/data/intuos5-m.tablet
+++ b/data/intuos5-m.tablet
@@ -48,6 +48,7 @@ DeviceMatch=usb:056a:002a
 Class=Intuos5
 Width=9
 Height=6
+Image=intuos5-m.svg
 Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;0x806;
 
 [Features]
diff --git a/data/intuos5-touch-m.tablet b/data/intuos5-touch-m.tablet
index c0bc2f6..1cdc06c 100644
--- a/data/intuos5-touch-m.tablet
+++ b/data/intuos5-touch-m.tablet
@@ -48,6 +48,7 @@ DeviceMatch=usb:056a:0027
 Class=Intuos5
 Width=9
 Height=6
+Image=intuos5-m.svg
 Styli=0x802;0x80c;0x804;0x80a;0x40802;0x4080a;0x902;0x90a;0x20802;0x806;
 
 [Features]
-- 
1.7.1

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to