[Library] DOMy - A DOM-like GUI framework

Showcase your libraries, tools and other projects that help your fellow love users.
User avatar
Karai17
Party member
Posts: 909
Joined: Sun Sep 02, 2012 10:46 pm

Re: DOMinatrix - a WIP GUI Library

Post by Karai17 »

I added in a whole bunch of pseudo-classes to be used in selectors!
  • n: integer
  • type: element type (button, image, text...)
  • selector: a CSS-like selector query (image.big:last_child)

Code: Select all

":checked"
":disabled"
":empty"
":enabled"
":first_child"
":first_of_type(type)"
":focus"
":hover"
":last_child"
":last_of_type(type)"
":not(selector)"
":nth_child(n)"
":nth_last_child(n)"
":nth_last_of_type(type, n)"
":nth_of_type(type, n)"
":only_child"
":only_of_type(type)"
":root"
STI - An awesome Tiled library
LÖVE3D - A 3D library for LÖVE 0.10+

Dev Blog | GitHub | excessive ❤ moé
User avatar
Karai17
Party member
Posts: 909
Joined: Sun Sep 02, 2012 10:46 pm

Re: DOMinatrix - a WIP GUI Library

Post by Karai17 »

I've added a whole bunch of styles!

Image

You can keep up-to-date on my progress with this file
STI - An awesome Tiled library
LÖVE3D - A 3D library for LÖVE 0.10+

Dev Blog | GitHub | excessive ❤ moé
User avatar
Karai17
Party member
Posts: 909
Joined: Sun Sep 02, 2012 10:46 pm

Re: DOMinatrix - a WIP GUI Library

Post by Karai17 »

Button and Image Elements work now!

Image
STI - An awesome Tiled library
LÖVE3D - A 3D library for LÖVE 0.10+

Dev Blog | GitHub | excessive ❤ moé
User avatar
Karai17
Party member
Posts: 909
Joined: Sun Sep 02, 2012 10:46 pm

Re: DOMinatrix - a WIP GUI Library

Post by Karai17 »

A quick update. I've added % units and relative positioning, among other fixes and whatnot. DOMinatrix is coming along quite well and we're almost at a point where it can start being used in a basic form. I need to write more unit tests and start forming the documentation. I would say within the next two or three weeks you may see the first official release. :D

Edit: Just added absolute positioning!

Image
STI - An awesome Tiled library
LÖVE3D - A 3D library for LÖVE 0.10+

Dev Blog | GitHub | excessive ❤ moé
User avatar
Kingdaro
Party member
Posts: 395
Joined: Sun Jul 18, 2010 3:08 am

Re: DOMinatrix - a WIP GUI Library

Post by Kingdaro »

HTML is too mainstream, just write your webpages in LÖVE! :awesome:

No, seriously though, great work on this so far!
User avatar
Karai17
Party member
Posts: 909
Joined: Sun Sep 02, 2012 10:46 pm

Re: DOMinatrix - a WIP GUI Library

Post by Karai17 »

Added the ability to navigate the UI with your keyboard. You can set which keys are used for navigating in which directions (useful for allowing custom key mappings). You can also enable, toggle, and disable the ability to navigate (so that you can use the same keys for nav and gameplay without one affecting the other).

Image

Not shown in the above screenshot is the ability to set auto margins. For those who are not web developers, this allows you to place a margin on your object that will fill up the content area of the parent, allowing you to centre objects (or not!). I hope to make a video soon to demo several features.
STI - An awesome Tiled library
LÖVE3D - A 3D library for LÖVE 0.10+

Dev Blog | GitHub | excessive ❤ moé
User avatar
Lacotemale
Citizen
Posts: 75
Joined: Sat Mar 08, 2014 9:01 pm

Re: DOMinatrix - a WIP GUI Library

Post by Lacotemale »

Oh my lorddd! Being a full time web developer I would be all over this! Great work! :awesome:
User avatar
shakesoda
Citizen
Posts: 78
Joined: Thu Sep 25, 2014 11:57 am
Location: Seattle, WA
Contact:

Re: DOMinatrix - a WIP GUI Library

Post by shakesoda »

Karai forgot to post I guess. We added 9-patch support earlier today and also made that available independently from this on github (based on the 9-patch code from positive's material-love).

Screenshots when Karai wakes up, probably.

(also, not an april fools post)
excessive ❤ moé (LÖVE3D, CPML, ...). holo on IRC.
User avatar
Karai17
Party member
Posts: 909
Joined: Sun Sep 02, 2012 10:46 pm

Re: DOMinatrix - a WIP GUI Library

Post by Karai17 »

Oh, whoops, I forgot to post!

Image

Since my last post we've added a whole bunch of features, including:
  • Keyboard navigation
  • on_mouse_over event
  • Scrolling
  • Overflow of contents
  • Opacity
  • Ability to reset a property to default using the "initial" value. Some properties do not have a default (such as width and height)
  • Added ability to inherit a value from a direct parent using "inherit". Using inherit allows you to set the text size, color, font, etc of a parent and allow the children to inherit.
  • Border radius
  • Text transforms
  • Added color modifiers (darken, lighten, hsv, multiply, etc) to stylesheets
  • Text Input element
  • 9patch image support
I have also started writing up documentation for DOMinatrix, you can view it here.

Some of the next big features we want to tackle is implementing the widget system, adding transforms, and adding basic animations.
STI - An awesome Tiled library
LÖVE3D - A 3D library for LÖVE 0.10+

Dev Blog | GitHub | excessive ❤ moé
User avatar
Karai17
Party member
Posts: 909
Joined: Sun Sep 02, 2012 10:46 pm

Re: DOMinatrix - a WIP GUI Library

Post by Karai17 »

I've added the widget (template) system! Users can now write predefined widgets complete with their own styles and scripts that can be inserted into your markup like any other element.

At this stage of development, I am looking for testers who are willing to help me find bugs as I continue to expand the functionality of DOMinatrix. I feel like this library is now ready for preliminary or simple usage: You can create pretty basic GUIs with it but I plan to continue adding more features until it is the most powerful and intuitive GUI framework for LOVE! :)
STI - An awesome Tiled library
LÖVE3D - A 3D library for LÖVE 0.10+

Dev Blog | GitHub | excessive ❤ moé
Post Reply

Who is online

Users browsing this forum: No registered users and 16 guests