Post Reply 
WP-34s: how to create/edit skins?
05-03-2014, 12:24 AM
Post: #1
WP-34s: how to create/edit skins?
I'm playing around with the WP-34s emulator, but don't really like any of the existing skins, so I would like to create my own skin, or alter an existing one to suit. I see a skin file is in an XML-type format, but it looks really cryptic, much more so than a Free42 skin file. So I'm wondering, is there some special tool needed to edit or create 34s skins, or any documentation to explain the format? I've RTFM and glanced at the source code, but haven't found anything useful yet.

Thanks a lot.

R.
Find all posts by this user
Quote this message in a reply
05-03-2014, 01:42 AM
Post: #2
RE: WP-34s: how to create/edit skins?
There are 2 formats: one for the old Windows-only emulator, .skin and one for the Qt emulator, .xskin.
They are basically the same as the 2nd one is based on the 1st but based on XML and slightly richer to support the use of real fonts instead of bitmap display and other enhancements.

As far as I know, there is no documentation nor tool. The file is not that complicated: it contains the name of the image file to display as a backgound, a description of various sizes and the positions and shortcuts of the keys mainly.
But the big part is the "painters" describing how to display the content of the screen in bitmap mode and changing it is a huge work.

I built a small application to generate skins with the same layout but different sizes but only for the iOS version which uses a slightly different format (and it is not public) but that's all. So no easy solution.
Find all posts by this user
Quote this message in a reply
05-03-2014, 05:25 AM
Post: #3
RE: WP-34s: how to create/edit skins?
Some painter's remarks about skins for the 'traditional' emulator in addition to Pascal's post:

I presume you want to modify the skin, not the layout. Editing those skins is no witchcraft. You can take one of the existing skins (i.e. one of the existing .bmp files!) as a starter. Open it using a suitable picture editor and modify whatever you like but keep size and position of the keys. You may change colours, 'fonts', and abbreviations within that framework. Keep in mind that the result must look good on your screen - i.e. when displayed to scale. When you've done your modifications, store the result in .bmp format again in the same directory where you found the other files. Start the emulator and select your skin. Voilá! Smile

d:-)

Yes, it may be some work on pixel basis - quite fitting for a monk of the order of urRh-Pee-aNn. Remember the medieval copying machines featuring two legs? Wink Salve regina ...
Find all posts by this user
Quote this message in a reply
05-03-2014, 06:33 PM
Post: #4
RE: WP-34s: how to create/edit skins?
Thanks Pascal and Walter.

I've drawn up a layout, which involves moving the keys a bit, so I adjusted the coordinates and dimensions of each in the skin file, which seems to work fine. The only thing I'm puzzled about is how it knows where the green legends are: is it hard-wired as the bottom quarter of each key, or is it configurable, or can automatic green-clicking be turned off?

I'll post the skin file when I'm happy with it.

R.

   
Find all posts by this user
Quote this message in a reply
05-03-2014, 08:06 PM
Post: #5
RE: WP-34s: how to create/edit skins?
<hshift height="xx"> in the skin is used to determine which part the of key rectangle is considered h-shifted. The value is the same for all keys.

It can be turned on & off in the Preferences but a skin must contain a correct value.
Find all posts by this user
Quote this message in a reply
05-06-2014, 02:58 PM
Post: #6
RE: WP-34s: how to create/edit skins?
Here are the skin files I've made up, which I hope some people might find useful. They are based on the "modern" skin, 400x650 pixels. I reduced the automatic h-shift areas to the minimum possible.

Rename the ".xskin.txt" file to ".xskin", and copy it into the "skins" folder. Copy the ".png" file into the "images" folder. If you want the SVG file for future editing, rename the ".svg.txt" file to ".svg", and store it anywhere. Any problems, let us know.

R.


Attached File(s) Thumbnail(s)
   

.txt  5 RPienne 34s V3.xskin.txt (Size: 89.84 KB / Downloads: 14)
.txt  wp34s_V3_rpienne.svg.txt (Size: 162.82 KB / Downloads: 16)
Find all posts by this user
Quote this message in a reply
05-06-2014, 03:04 PM
Post: #7
RE: WP-34s: how to create/edit skins?
Ha! A problem already. :-D

The green/h-shifted legend for the R-down key should of course be R-up. I'll fix that and post the correction later today.

R.
Find all posts by this user
Quote this message in a reply
05-13-2014, 01:57 PM
Post: #8
RE: WP-34s: how to create/edit skins?
That's obviously a skin dedicated to a touchscreen device. Personally, I prefer keyboards. YMMV

d:-/
Find all posts by this user
Quote this message in a reply
05-16-2014, 10:33 PM
Post: #9
RE: WP-34s: how to create/edit skins?
Sorry about the delay. I was away for a while. Here are the fixed files. As before, remove the ".txt" bits from the filenames.

I admit the skin was inspired by my Free42 mobile skin, but I personally prefer it over the "realistic" skins for desktop use, as I think it makes the key/legend bindings clearer, but of course, as our more distinguished member says, YMMV.


Attached File(s) Thumbnail(s)
   

.txt  5 RPienne 34s V3.xskin.txt (Size: 89.84 KB / Downloads: 9)
.txt  wp34s_V3_rpienne.svg.txt (Size: 162.41 KB / Downloads: 8)
Find all posts by this user
Quote this message in a reply
05-18-2014, 07:27 PM
Post: #10
RE: WP-34s: how to create/edit skins?
(05-16-2014 10:33 PM)r. pienne Wrote:  Sorry about the delay. I was away for a while. Here are the fixed files. As before, remove the ".txt" bits from the filenames.

I admit the skin was inspired by my Free42 mobile skin, but I personally prefer it over the "realistic" skins for desktop use, as I think it makes the key/legend bindings clearer, but of course, as our more distinguished member says, YMMV.

Thanks!
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)