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