On Tue, Oct 30, 2012 at 10:44:40AM +0100, Olivier Fourdan wrote:
> 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.

please sign off your patches.

ACK to the patch, but a few comments:
- should we call this svgdata or something like that instead of the generic
"Images"? in the makefile you call it "layouts" which I think is a more
approprate name than images.
- can we join the lines in the svg data? seems like a new line for every xml
attribute makes the file excessively long. there aren't many attributes, so
joining them on one line with a bit of nice spacing looks good enough as
well, imo:
<rect id="ButtonA" class="A Button" x="40" y="54" width="11" height="17"/>
<text id="LabelA"  class="A Label"  x="60" y="63" > A </text>
<rect id="ButtonB" class="B Button" x="40" y="72" width="11" height="17"/>
..

Cheers,
   Peter

> ---
>  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>

I do wonder if we can just join these lines. The actual data is relatively
small and it seems excessively 

> 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


------------------------------------------------------------------------------
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