Yup, seems to skin nicely. Actually, it's all on the fly, not really skinned. Screens are created via XML files(see below). So far you can add buttons, text, images, and video.. please feel free to rip it apart if I missed anything major : I'll comment the best I can for now..
<Title>XCar Main Screem GUI</Title>
/* Main GUI information, lets XCar know what the "skin" was designed at, to allow for scaling to a larger screen size, etc. (SCALEALL) says to XCar, if this was designed at 640x480, and we're on 1024x* rescale all images, video, and bg images to match. For now, I am not loading an image for a background, just using #FFFFFF.. Windows Modes are "FULLSCREEN", "SET-X:200,Y:300", "MODAL", and "MINREQUIRED". SizeMethod is used for resizing windows, for those who use a mouse. "SET" means it cannot be resized. */
/* This is just a button. Title of it(needed if an image is not used). The Image to be used, it's location on the screen, it's size(if needed), if it's transparent, if it should use a BitMask to seem "non-rectangular). This will take the bottom right corner of the image(last pixel), and make that a mask, useful for images u want to appear transparent w/ a solid background. Requirements is what modules/plugins are needed for this button to be enabled. (I am using a built in MP3 software, so it's set to NULL. And a toolbar image for OSD. This is just a smaller image that is used for almost what could be called a "taskbar".. */
/* These are the actions the button will take when pressed. Execute will execute a command, w/ it's arguments if needed. (several variables are available on the arguments, using %x like tags. ie. %is_lan_enabled ).. LoadScreen will go and spawn a new screen, in this case, it loads "MP3Player.xml", and begins doing what it's supposed to do. RunXCarScript will at some point run through a script, of which commands have yet to be determined. What I was thinking was simple perl scripts to do specific things. Like Sync to a Home PC via wireless. Maybe songs u wanted to D/L to your car or something.. Dunno, unsure of a good use for it yet.. */
/* Nothing new here.. same as above.. */
/* This just puts an image on the screen. It's not a button, but that's what it does, same functions as above. Transparency is set to 50%, that's all. */
/* This spawns a video instance on the main screen, @ X200,Y200 coords. It will loop(1 = true, 0=false), and it will loop every 200 seconds. It's Z-Order(for u VB guys) is -9. -10 is the background. You can go -15 to 15. Though I don't see a purpose for it, it's there.. :-/
Ok, that's all I got. haha.. So yea, it'll skin.