Re: [Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-29 Thread Olivier Fourdan

Updated patch.

Uses CW and CCW instead of Up and Down for touch rings, adds 
(optional) arrows to show rotation on touch rings, renamed "indicator" 
as "leader" as per previous reviews.
>From b877ff84ee108ce2115a40b4d7c8edfd47382b73 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan 
Date: Tue, 27 Nov 2012 09:52:42 +0100
Subject: [PATCH] data: Add leaders to layouts

To match the buttons with their corresponding labels, the
layout SVG must also provide a leader line for each label
in the form of a line that links each button and its
label.

Improves the layout SVG for the Cintiq 12WX and Intuos 5 M
by adding details and rounded buttons to match the look of
the real device.

Buttons, labels and indicators are now grouped in the SVG
layout for better clarity of the SVG.

Adds indicators to the SVG check test iprogram so that
incomplete layouts would be detected.

Replace use of ambiguous "Up" and "Down" in ring
controls with "CW" (Clockwise) and "CCW" (Counter
Clockwise) which are more appropriate for circular
motion (note that "CCW" is used in place of "Up"
and "CW" in place of "Down").

Add possible use of "fake" buttons to materialize
the type of motion expected in touch strips/rings
(optional, not mandatory as not present on the
real device).

Improves the SVG layout display sample program to show
touch ring/touch strips labels and label indicators.

Signed-off-by: Olivier Fourdan 
---
 data/layouts/README  | 124 +++---
 data/layouts/cintiq-12wx.svg | 118 ++---
 data/layouts/intuos5-m.svg   |  87 +++--
 test/tablet-svg-validity.c   |  83 ++--
 tools/show-svg-image.c   | 176 +--
 5 files changed, 448 insertions(+), 140 deletions(-)

diff --git a/data/layouts/README b/data/layouts/README
index 37b644d..fda7814 100644
--- a/data/layouts/README
+++ b/data/layouts/README
@@ -56,6 +56,56 @@ Touch rings use the following convention:
 id="Strip2"
 class="Strip2 TouchStrip"
 
+Note: Additional "fake" buttons (ie actual controls not found on the real
+device) can be added to touch controls to help showing the type of action
+expected on the control, like for example circular motion on a touch ring
+or vertical motion on a touch strip.
+
+These controls can be named:
+
+ - First touch ring, rotating clockwise:
+
+id="RingCW"
+class="RingCW Button"
+
+ - First touch ring, rotating counter clockwise:
+
+id="RingCCW"
+class="RingCCW Button"
+
+ - Second touch ring, rotating clockwise:
+
+id="Ring2CW"
+class="Ring2CW Button"
+
+ - Second touch ring, rotating counter clockwise:
+
+id="Ring2CCW"
+class="Ring2CCW Button"
+
+ - First touch strip, moving up:
+
+id="StripUp"
+class="StripUp Button"
+
+ - First touch strip, moving down:
+
+id="StripDown"
+class="StripDown Button"
+
+ - Second touch strip, moving up:
+
+id="Strip2Up"
+class="Strip2Up Button"
+
+ - Second touch strip, moving down:
+
+id="Strip2Down"
+class="Strip2Down Button"
+
+The use of those "fake" buttons is left at the discretion of the designer 
+and is not mandatory nor enforced.
+
 * Labels
 
 The role of the labels in the SVG is to give applications an indication on
@@ -71,6 +121,7 @@ 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"
 
@@ -84,23 +135,23 @@ For the special case of mode-switch buttons, the class also list "ModeSwitch":
 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"
+id="LabelRingCCW"
+class="RingCCW Ring Label"
 
   and
 
-id="LabelRingDown"
-class="RingDown Ring Label"
+id="LabelRingCW"
+class="RingCW Ring Label"
 
 The second touch-ring button is identified by "Ring2" in place of "Ring":
 
-id="LabelRing2Up"
-class="Ring2Up Ring2 Label"
+id="LabelRing2CCW"
+class="Ring2CCW Ring2 Label"
 
   and
 
-id="LabelRingDown"
-class="Ring2Down Ring2 Label"
+id="LabelRingCW"
+class="Ring2CW Ring2 Label"
 
 Touchstrips button follow the same naming scheme, using "Strip" and "Strip2"
 to name the first and second touch-strip.
@@ -120,5 +171,60 @@ Second touch-strip:
 
   and
 
-id="LabelRingDown"
+id="LabelRingCW"
 class="Strip2Down Strip2 Label"
+
+ - Caption leader lines
+
+To match the buttons with their corresponding labels, the SVG must also
+provide a leader line for each label in the form of a line that links
+each button and its label.
+
+Each leader line follows the same naming convention as the labels, using
+the special name "Leader" in place of "Label", ie:
+
+id="LeaderA"
+class="A Leader"
+
+Touch-rings and touch-strips have 2 different l

Re: [Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-29 Thread Peter Hutterer
On Thu, Nov 29, 2012 at 05:34:28PM +0100, Olivier Fourdan wrote:
> Updated patch.
> 
> Uses CW and CCW instead of Up and Down for touch rings, adds
> (optional) arrows to show rotation on touch rings, renamed
> "indicator" as "leader" as per previous reviews.

ack to the leader part of it, but the other comments still stand
(change of colours, timeout change, splitting the API change for print_label
into a separate patch)


one more nitpick, but you don't have to address this one if you don't agree:
> - markup = g_strdup_printf (" ACTIVE_COLOR "\" weight=\"bold\">Button %c", button);

make this
g_strdup_printf(" From b877ff84ee108ce2115a40b4d7c8edfd47382b73 Mon Sep 17 00:00:00 2001
> From: Olivier Fourdan 
> Date: Tue, 27 Nov 2012 09:52:42 +0100
> Subject: [PATCH] data: Add leaders to layouts
> 
> To match the buttons with their corresponding labels, the
> layout SVG must also provide a leader line for each label
> in the form of a line that links each button and its
> label.
> 
> Improves the layout SVG for the Cintiq 12WX and Intuos 5 M
> by adding details and rounded buttons to match the look of
> the real device.
> 
> Buttons, labels and indicators are now grouped in the SVG
> layout for better clarity of the SVG.
> 
> Adds indicators to the SVG check test iprogram so that
> incomplete layouts would be detected.
> 
> Replace use of ambiguous "Up" and "Down" in ring
> controls with "CW" (Clockwise) and "CCW" (Counter
> Clockwise) which are more appropriate for circular
> motion (note that "CCW" is used in place of "Up"
> and "CW" in place of "Down").
> 
> Add possible use of "fake" buttons to materialize
> the type of motion expected in touch strips/rings
> (optional, not mandatory as not present on the
> real device).
> 
> Improves the SVG layout display sample program to show
> touch ring/touch strips labels and label indicators.
> 
> Signed-off-by: Olivier Fourdan 
> ---
>  data/layouts/README  | 124 +++---
>  data/layouts/cintiq-12wx.svg | 118 ++---
>  data/layouts/intuos5-m.svg   |  87 +++--
>  test/tablet-svg-validity.c   |  83 ++--
>  tools/show-svg-image.c   | 176 
> +--
>  5 files changed, 448 insertions(+), 140 deletions(-)
> 
> diff --git a/data/layouts/README b/data/layouts/README
> index 37b644d..fda7814 100644
> --- a/data/layouts/README
> +++ b/data/layouts/README
> @@ -56,6 +56,56 @@ Touch rings use the following convention:
>  id="Strip2"
>  class="Strip2 TouchStrip"
>  
> +Note: Additional "fake" buttons (ie actual controls not found on the real
> +device) can be added to touch controls to help showing the type of action
> +expected on the control, like for example circular motion on a touch ring
> +or vertical motion on a touch strip.
> +
> +These controls can be named:
> +
> + - First touch ring, rotating clockwise:
> +
> +id="RingCW"
> +class="RingCW Button"
> +
> + - First touch ring, rotating counter clockwise:
> +
> +id="RingCCW"
> +class="RingCCW Button"
> +
> + - Second touch ring, rotating clockwise:
> +
> +id="Ring2CW"
> +class="Ring2CW Button"
> +
> + - Second touch ring, rotating counter clockwise:
> +
> +id="Ring2CCW"
> +class="Ring2CCW Button"
> +
> + - First touch strip, moving up:
> +
> +id="StripUp"
> +class="StripUp Button"
> +
> + - First touch strip, moving down:
> +
> +id="StripDown"
> +class="StripDown Button"
> +
> + - Second touch strip, moving up:
> +
> +id="Strip2Up"
> +class="Strip2Up Button"
> +
> + - Second touch strip, moving down:
> +
> +id="Strip2Down"
> +class="Strip2Down Button"
> +
> +The use of those "fake" buttons is left at the discretion of the designer 
> +and is not mandatory nor enforced.
> +
>  * Labels
>  
>  The role of the labels in the SVG is to give applications an indication on
> @@ -71,6 +121,7 @@ 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"
>  
> @@ -84,23 +135,23 @@ For the special case of mode-switch buttons, the class 
> also list "ModeSwitch":
>  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"
> +id="LabelRingCCW"
> +class="RingCCW Ring Label"
>  
>and
>  
> -id="LabelRingDown"
> -class="RingDown Ring Label"
> +id="LabelRingCW"
> +class="RingCW Ring Label"
>  
>  The second touch-ring button is identified by "Ring2" in place of "Ring":
>  
> -id="LabelRing2Up"
> -class="Ring2Up Ring2 Label"
> +id="LabelRing2CCW"
> +class="Ring2CCW Ring2 Label"
>  
>and
>  
> -id="LabelRingDown"
> -class="Ring2Down Ring2 La

Re: [Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-29 Thread Jason Gerecke
On Thu, Nov 29, 2012 at 12:45 AM, Olivier Fourdan wrote:

>
> Hi Peter,
>
> Peter Hutterer said the following on 11/29/2012 06:34 AM:
> > As Ping said, up/down on a ring is ambiguous. we use that
> > terminology in the driver, but I do think we have the chance here to
> > use CW/CCW instead.
>
> Right, but is is it guaranteed that {Abs,Rel}Wheel*UP as received by
> the client is always CCW on the hardware and {Abs,Rel}Wheel*Down is
> always CW, for all devices out there?
>
> Otherwise there would be no way to accurately match what's received
> from the driver with the CW/CWW naming convention.
>
> Cheers,
> Olivier.
>

I would consider this to be behavior you can rely on. On a dial-type
control, "forward", "bigger", etc. are universally achieved through CW
rotation. Even if the hardware were wired backwards for some reason, we'd
still almost certainly correct it in software to ensure an appropriate user
experience. It would be exceedingly strange for a device to *intend* for
rotation to work backwards.

Jason

---
When you're rife with devastation / There's a simple explanation:
You're a toymaker's creation / Trapped inside a crystal ball.
And whichever way he tilts it / Know that we must be resilient
We won't let them break our spirits / As we sing our silly song.


>
>
> --
> Keep yourself connected to Go Parallel:
> VERIFY Test and improve your parallel project with help from experts
> and peers. http://goparallel.sourceforge.net
> ___
> Linuxwacom-devel mailing list
> Linuxwacom-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
>
--
Keep yourself connected to Go Parallel: 
VERIFY Test and improve your parallel project with help from experts 
and peers. http://goparallel.sourceforge.net___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


Re: [Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-29 Thread Olivier Fourdan
Olivier Fourdan said the following on 11/29/2012 05:34 PM:
> Updated patch.
>
> Uses CW and CCW instead of Up and Down for touch rings, adds 
> (optional) arrows to show rotation on touch rings, renamed 
> "indicator" as "leader" as per previous reviews.

Patch is slightly larger than the limit for the list (40.2Kb > 40Kb, 
sigh) and gets block waiting for moderator approval.

In the meantime it can be downloaded from here:

http://people.redhat.com/ofourdan/libwacom/patches/0001-data-Add-leaders-to-layouts.patch

Cheers,
Olivier.

--
Keep yourself connected to Go Parallel: 
VERIFY Test and improve your parallel project with help from experts 
and peers. http://goparallel.sourceforge.net
___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


Re: [Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-29 Thread Olivier Fourdan

Hi Peter,

Peter Hutterer said the following on 11/29/2012 06:34 AM:
> As Ping said, up/down on a ring is ambiguous. we use that 
> terminology in the driver, but I do think we have the chance here to 
> use CW/CCW instead.

Right, but is is it guaranteed that {Abs,Rel}Wheel*UP as received by 
the client is always CCW on the hardware and {Abs,Rel}Wheel*Down is 
always CW, for all devices out there?

Otherwise there would be no way to accurately match what's received 
from the driver with the CW/CWW naming convention.

Cheers,
Olivier.

--
Keep yourself connected to Go Parallel: 
VERIFY Test and improve your parallel project with help from experts 
and peers. http://goparallel.sourceforge.net
___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


Re: [Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-29 Thread Olivier Fourdan
Favux ... said the following on 11/29/2012 07:08 AM:
> In drafting there is a technical name for lines connecting labels to
> the object they reference.
>
> Leaders
> Leaders or leader lines indicate the part or area of a drawing to
> which a number, note or other reference applies. They are solid lines
> and usually terminate in a single arrowhead.

Perfect, Thanks!

That's the word I was looking for (unfortunately Google didn't help 
here and I could not use any translator tool as I couldn't 
find/remember in any other language either... meh)

I shall send an updated patch shortly.

Cheers,
Olivier.

-- 
əɔıʌəp əɯos ɥʇıʍ əɹəɥʍəɯos ɯoɹɟ ʇuəs


--
Keep yourself connected to Go Parallel: 
VERIFY Test and improve your parallel project with help from experts 
and peers. http://goparallel.sourceforge.net
___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


Re: [Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-28 Thread Favux ...
In drafting there is a technical name for lines connecting labels to
the object they reference.

Leaders
Leaders or leader lines indicate the part or area of a drawing to
which a number, note or other reference applies. They are solid lines
and usually terminate in a single arrowhead.

--
Keep yourself connected to Go Parallel: 
VERIFY Test and improve your parallel project with help from experts 
and peers. http://goparallel.sourceforge.net
___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


Re: [Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-28 Thread Peter Hutterer
On Tue, Nov 27, 2012 at 11:25:15AM +0100, Olivier Fourdan wrote:
> Hi,
> 
> After review of the proposed on-screen help display window for the
> Wacom plug-in in GNOME settings daemon (aka OSD), the GNOME design
> team came back with some requirements that need an enhancement in
> the layouts definitions.
> 
> Basically, what's required is a caption indicator, i.e. a line that
> goes from the button itself to its label so that there is a visual
> link between the two.
> 
> As I reckon all placing/drawing/rendering should come from the
> layout, that means we need to amend the proposed definition to add
> those captions to the layout data (given that the layouts can be
> fairly complex, this needs to be done in the SVG rather than
> computed).
> 
> The following patch does this:
> 
>   - Adds the caption indicator definition
>   - Adds the caption indicators to the two existing layouts (namely
> Cintiq 12WX and Intuos5 M)
>   - Modifies the check to very the presence of the caption indicators
>   - Improves the renderer example to show the trip/ring actions and
> all the captions (Screenshots [1] and [2])
> 
> Cheers,
> Olivier.
> 
> [1] 
> http://people.redhat.com/ofourdan/libwacom/misc/Cintiq-12WX-layout-viewer.png
> [2] 
> http://people.redhat.com/ofourdan/libwacom/misc/Intuos5-M-layout-viewer.png
> 
> 

> >From 920b8cdeaf6c7db904a5ba689f11fef431f155b9 Mon Sep 17 00:00:00 2001
> From: Olivier Fourdan 
> Date: Tue, 27 Nov 2012 09:52:42 +0100
> Subject: [PATCH] data: Add caption indicators to layouts
> 
> To match the buttons with their corresponding labels, the
> layout SVG must also provide a caption indicator for each
> label in the form of a line that links each button and its
> label.
> 
> Improves the layout SVG for the Cintiq 12WX and Intuos 5 M
> by adding details and rounded buttons to match the look of
> the real device.
> 
> Buttons, labels and indicators are now grouped in the SVG
> layout for better clarity of the SVG.
> 
> Adds indicators to the SVG check test so that incomplete
> layouts would be detected.
> 
> Improves the SVG layout display sample program to show
> touch ring/touch strips labels and label indocators.
> 
> Signed-off-by: Olivier Fourdan 
> ---
>  data/layouts/README  |  55 ++
>  data/layouts/cintiq-12wx.svg | 116 ++---
>  data/layouts/intuos5-m.svg   |  81 ++--
>  test/tablet-svg-validity.c   |  19 +
>  tools/show-svg-image.c   | 174 
> +--
>  5 files changed, 323 insertions(+), 122 deletions(-)
> 
> diff --git a/data/layouts/README b/data/layouts/README
> index 37b644d..570de38 100644
> --- a/data/layouts/README
> +++ b/data/layouts/README
> @@ -71,6 +71,7 @@ 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"
>  
> @@ -122,3 +123,57 @@ Second touch-strip:
>  
>  id="LabelRingDown"
>  class="Strip2Down Strip2 Label"
> +
> + - Caption indicators
> +
> +To match the buttons with their corresponding labels, the SVG must also 
> provide
> +a caption indicator for each label in the form of a line that links each 
> button
> +and its label.

I'm honestly not sure if "indicator" is the right word here. Maybe some
native English speakers can chime in here? 
Further confusing also by XKB using indicators for LEDs (Caps Lock, etc.)

> +
> +Each caption indicator follows the same naming convention as the labels, 
> using
> +the special name "Indicator" in place of "Label", ie:
> +
> +id="IndicatorA"
> +class="A Indicator"
> +
> +Touch-rings and touch-strips have 2 different labels and therefore 2 
> indicators.
> +
> +id="IndicatorRingUp"
> +class="RingUp Ring Indicator"
> +
> +  and
> +
> +id="IndicatorRingDown"
> +class="RingDown Ring Indicator"

As Ping said, up/down on a ring is ambiguous. we use that terminology in the
driver, but I do think we have the chance here to use CW/CCW instead.

> +
> +The second touch-ring button is identified by "Ring2" in place of "Ring":
> +
> +id="IndicatorRing2Up"
> +class="Ring2Up Ring2 Indicator"
> +
> +  and
> +
> +id="IndicatorRingDown"
> +class="Ring2Down Ring2 Indicator"
> +
> +Touchstrips button follow the same naming scheme, using "Strip" and "Strip2"
> +to name the first and second touch-strip.
> +
> +id="IndicatorStripUp"
> +class="StripUp Strip Indicator"
> +
> +  and
> +
> +id="IndicatorStripDown"
> +class="StripDown Strip Indicator"
> +
> +Second touch-strip:
> +
> +id="IndicatorStrip2Up"
> +class="Strip2Up Strip2 Indicator"
> +
> +  and
> +
> +id="IndicatorRingDown"
> +class="Strip2Down Strip2 Indicator"
> +
> diff --git a/data/layouts/cintiq-12wx.svg b/data/layouts/cintiq-12wx.svg
> index 370283d..ef23c63 100644
> --- a/data/layouts/cintiq-12wx.svg
> +++ b/d

Re: [Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-27 Thread Ping Cheng
I like the layout. Thank you for your effort.

Some nitpicking inline.

Ping

On Tuesday, November 27, 2012, Olivier Fourdan wrote:

> Hi,
>
> After review of the proposed on-screen help display window for the Wacom
> plug-in in GNOME settings daemon (aka OSD), the GNOME design team came back
> with some requirements that need an enhancement in the layouts definitions.
>
> Basically, what's required is a caption indicator, i.e. a line that goes
> from the button itself to its label so that there is a visual link between
> the two.
>
> As I reckon all placing/drawing/rendering should come from the layout,
> that means we need to amend the proposed definition to add those captions
> to the layout data (given that the layouts can be fairly complex, this
> needs to be done in the SVG rather than computed).
>
> The following patch does this:
>
>   - Adds the caption indicator definition
>   - Adds the caption indicators to the two existing layouts (namely Cintiq
> 12WX and Intuos5 M)
>   - Modifies the check to very the presence of the caption indicators


very -> verify?

  - Improves the renderer example to show the trip/ring actions and all the
> captions


strip?


> (Screenshots [1] and [2])
>
> Cheers,
> Olivier.
>
> [1] http://people.redhat.com/**ofourdan/libwacom/misc/Cintiq-**
> 12WX-layout-viewer.png
> [2] http://people.redhat.com/**ofourdan/libwacom/misc/**
> Intuos5-M-layout-viewer.png


Since ring is a circle, should we indicate the direction for up and down?
Or use a layman term, such as clockwise and anti-clockwise, to make it
clear?
--
Keep yourself connected to Go Parallel: 
INSIGHTS What's next for parallel hardware, programming and related areas?
Interviews and blogs by thought leaders keep you ahead of the curve.
http://goparallel.sourceforge.net___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


[Linuxwacom-devel] libwacom: [PATCH] data: Add caption indicators to layouts

2012-11-27 Thread Olivier Fourdan

Hi,

After review of the proposed on-screen help display window for the 
Wacom plug-in in GNOME settings daemon (aka OSD), the GNOME design 
team came back with some requirements that need an enhancement in the 
layouts definitions.


Basically, what's required is a caption indicator, i.e. a line that 
goes from the button itself to its label so that there is a visual 
link between the two.


As I reckon all placing/drawing/rendering should come from the layout, 
that means we need to amend the proposed definition to add those 
captions to the layout data (given that the layouts can be fairly 
complex, this needs to be done in the SVG rather than computed).


The following patch does this:

  - Adds the caption indicator definition
  - Adds the caption indicators to the two existing layouts (namely 
Cintiq 12WX and Intuos5 M)

  - Modifies the check to very the presence of the caption indicators
  - Improves the renderer example to show the trip/ring actions and 
all the captions (Screenshots [1] and [2])


Cheers,
Olivier.

[1] 
http://people.redhat.com/ofourdan/libwacom/misc/Cintiq-12WX-layout-viewer.png
[2] 
http://people.redhat.com/ofourdan/libwacom/misc/Intuos5-M-layout-viewer.png



>From 920b8cdeaf6c7db904a5ba689f11fef431f155b9 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan 
Date: Tue, 27 Nov 2012 09:52:42 +0100
Subject: [PATCH] data: Add caption indicators to layouts

To match the buttons with their corresponding labels, the
layout SVG must also provide a caption indicator for each
label in the form of a line that links each button and its
label.

Improves the layout SVG for the Cintiq 12WX and Intuos 5 M
by adding details and rounded buttons to match the look of
the real device.

Buttons, labels and indicators are now grouped in the SVG
layout for better clarity of the SVG.

Adds indicators to the SVG check test so that incomplete
layouts would be detected.

Improves the SVG layout display sample program to show
touch ring/touch strips labels and label indocators.

Signed-off-by: Olivier Fourdan 
---
 data/layouts/README  |  55 ++
 data/layouts/cintiq-12wx.svg | 116 ++---
 data/layouts/intuos5-m.svg   |  81 ++--
 test/tablet-svg-validity.c   |  19 +
 tools/show-svg-image.c   | 174 +--
 5 files changed, 323 insertions(+), 122 deletions(-)

diff --git a/data/layouts/README b/data/layouts/README
index 37b644d..570de38 100644
--- a/data/layouts/README
+++ b/data/layouts/README
@@ -71,6 +71,7 @@ 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"
 
@@ -122,3 +123,57 @@ Second touch-strip:
 
 id="LabelRingDown"
 class="Strip2Down Strip2 Label"
+
+ - Caption indicators
+
+To match the buttons with their corresponding labels, the SVG must also provide
+a caption indicator for each label in the form of a line that links each button
+and its label.
+
+Each caption indicator follows the same naming convention as the labels, using
+the special name "Indicator" in place of "Label", ie:
+
+id="IndicatorA"
+class="A Indicator"
+
+Touch-rings and touch-strips have 2 different labels and therefore 2 indicators.
+
+id="IndicatorRingUp"
+class="RingUp Ring Indicator"
+
+  and
+
+id="IndicatorRingDown"
+class="RingDown Ring Indicator"
+
+The second touch-ring button is identified by "Ring2" in place of "Ring":
+
+id="IndicatorRing2Up"
+class="Ring2Up Ring2 Indicator"
+
+  and
+
+id="IndicatorRingDown"
+class="Ring2Down Ring2 Indicator"
+
+Touchstrips button follow the same naming scheme, using "Strip" and "Strip2"
+to name the first and second touch-strip.
+
+id="IndicatorStripUp"
+class="StripUp Strip Indicator"
+
+  and
+
+id="IndicatorStripDown"
+class="StripDown Strip Indicator"
+
+Second touch-strip:
+
+id="IndicatorStrip2Up"
+class="Strip2Up Strip2 Indicator"
+
+  and
+
+id="IndicatorRingDown"
+class="Strip2Down Strip2 Indicator"
+
diff --git a/data/layouts/cintiq-12wx.svg b/data/layouts/cintiq-12wx.svg
index 370283d..ef23c63 100644
--- a/data/layouts/cintiq-12wx.svg
+++ b/data/layouts/cintiq-12wx.svg
@@ -3,32 +3,92 @@
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
 http://www.w3.org/2000/svg"; version="1.1"
  style="color:#00;stroke:#bebebe;fill:#00;stroke-linejoin:round;stroke-width:1;font-size:8"
- id="cintiq-12wx" width="405" height="270" >
-  Wacom Cintiq 12WX
-  
-  A
-  
-  B
-  
-  C
-  
-  D
-  
-  E
-  
-  F
-  
-  G
-  
-  H
-  
-  I
-  
-  J
-  
-  Up
-  Down
-  
-  Up
-  Down
+ id="cintiq-12wx"   width="405" height="270">
+  Wacom Cintiq 12WX
+  
+
+
+A
+  
+  
+