Hi,

it can be a nice project in the WicketStuff projects list, I will try to
have a look at your code once you've shared it.

Regards,

__
Cedric Gatay (@Cedric_Gatay <http://twitter.com/Cedric_Gatay>)
http://code-troopers.com | http://www.bloggure.info | http://cedric.gatay.fr


On Sat, Sep 28, 2013 at 5:37 PM, Martin Grigorov <[email protected]>wrote:

> Hi,
>
> The only similar thing that I'm aware of is
> https://github.com/ananthakumaran/imagebundler-wicket.
> Please create a ticket with either a patch attached or a Pull Request at
> https://github.com/apache/wicket.
> If we like it then it can be part of wicket-core.
> Another option is to add it as a new module in WicketStuff projects.
>
>
> On Sat, Sep 28, 2013 at 3:23 PM, Martin Geisse
> <[email protected]>wrote:
>
> > Hi all,
> >
> > is there any convenient way to build CSS sprites, or refactor images to
> > CSS sprites, in Wicket yet? If not, I'd be happy to contribute a set of
> > class I've written for that purpose.
> >
> > (In case I've overlooked a feature for this in Wicket, please just stop
> > reading and tell me ;))
> >
> > The code I've written is intended as a drop-in replacement for the Image
> > component (it's actually a subclass of Image), but if you like it, it
> might
> > make sense to incorporate the functionality into Image itself. It also
> > depends on a central sprite registry that keeps track of the images that
> > are available as sprites in a sprite "atlas" (a super-image that contains
> > several sprites).
> >
> > Technically, the code uses a SpriteRegistry in the (Web)Application.
> > Application code registers sprites in init() like this:
> >
> > getSpriteRegistry().register(false,
> >   new PackageResourceReference(MyAnchor.class, "image1.png"),
> >   new PackageResourceReference(MyAnchor.class, "image2.png"),
> >   new PackageResourceReference(OtherAnchor.class, "something.png"));
> >
> > (* see below for the meaning of the first parameter). Doing this causes a
> > super-image containing all specified images to be rendered at startup.
> The
> > contained images may use any format supported by ImageIO, but the atlas
> > format is currently restricted to PNG (but it wouldn't be hard to
> support a
> > format parameter). There's also currently no logic to find an optimized
> > layout of the sprites in the atlas -- they're simply placed in a long
> > horizontal strip, left-to-right, possibly with lots of wasted space
> below.
> > A pluggable layout strategy might be useful in the future.
> >
> > Then, pages/components are expected to use the class SpriteImage instead
> > of Image (as said above, it's a subclass). SpriteImage supports IMG, SPAN
> > and DIV elements and will do all the magic: Convert IMG to SPAN, add
> > "display: inline-block" to IMG/SPAN, and add background-image,
> > background-position, width and height.
> >
> > SpriteImage will actually first resolve its image, then look if it can be
> > found in the application's SpriteRegistry. If not, it just falls back to
> > its normal logic (supporting DIV and SPAN, though). This means you can
> > basically use SpriteImage everywhere. Currently it will turn an IMG to a
> > SPAN with background-image though, but we might check for that and leave
> a
> > non-sprite IMG alone.
> >
> > * the first parameter tells register() whether missing image resources
> are
> > OK. If an image resource is missing, "not ok" throws an exception, while
> > "ok" will cause the sprite to be a 0x0 image. This was very convenient in
> > my case, but I could see why this isn't very clean for the general case.
> > It'S not essential for me.
> >
> > Please tell me if you are interested in getting this into Wicket core. No
> > files attached because I didn't want to clutter the mailing list ;)
> >
> > Greetings,
> > Martin Geisse
> >
> >
>

Reply via email to