but higher priority hover sprite was entered. Noted a refinement that would
make getHit() more correct in the overlapping case.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3718 542714f4-19e9-0310-aa3c-eee0fc999fb1
still over a hover sprite as that prevents things from working properly if
hover sprites overlap. This isn't much of a tradeoff as most of the time the
mouse is not over a hover sprite in which case it does the full hit testing
anyway.
Also fixed a bug wherein the active sprite was not actually configured unless
it implemented HoverSprite which the rest of the code takes pains not to
require (it should be and is now possible to have action sprites that do not
implement HoverSprite but still work).
By the way, this whole action/hover/etc. sprite business is goddamned handy.
It's *so* much nicer than having to implement mouse listeners and do a bunch of
crap by hand.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3717 542714f4-19e9-0310-aa3c-eee0fc999fb1
shouldn't be transparent so that repaints don't travel up past them.
(Some were, but I think our repaint manager was keeping paints out of
the parents anyway, somehow).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3663 542714f4-19e9-0310-aa3c-eee0fc999fb1
by the MediaPanel as sprites that interact in some standard way with the
mouse.
Modified existing ButtonSprite to work this new way, and it now implements
CommandSprite, ArmingSprite, and DisableableSprite. One method name changed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3362 542714f4-19e9-0310-aa3c-eee0fc999fb1
in the front layer which is generally what we want.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3190 542714f4-19e9-0310-aa3c-eee0fc999fb1
false, but we still need to call willPaint() after *every* tick, so we
have to do that in needsPaint() where we can be sure it will get called.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2554 542714f4-19e9-0310-aa3c-eee0fc999fb1
to facilitate efficient checking of whether it's activated or not.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2520 542714f4-19e9-0310-aa3c-eee0fc999fb1
we have to go out of our way to let the abstract media managers know when
tick() is all done and paint() *may* be called. This way they can properly
clear out their tick stamps because they know that no more media fooling
around will happen between the call to willPaint() and the call to paint()
(which used to be called renderMedia() but is now paint() to remain in
line with all the other places were we tick() and then paint()).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2508 542714f4-19e9-0310-aa3c-eee0fc999fb1
called tick(), therefore we don't need to incorporate _tickPaintPending
into our determinations. Additionally, we need to clear _tickPaintPending
if we return false from this method because we won't get painted in that
case and won't clear it in paint().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2369 542714f4-19e9-0310-aa3c-eee0fc999fb1
extra effort of copying the back buffer to the screen if nothing actually
changed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2322 542714f4-19e9-0310-aa3c-eee0fc999fb1
now (which uses System.currentTimeMillis() at the moment but eventually
won't).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1968 542714f4-19e9-0310-aa3c-eee0fc999fb1
Pulled out gobs of SpriteManager/AnimationManager functionality into
AbstractMediaManager.
The big change: sprites can have their render order fine-tuned like
animations.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1787 542714f4-19e9-0310-aa3c-eee0fc999fb1
We don't want to do that when we mean simply to repaint the whole
component.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1536 542714f4-19e9-0310-aa3c-eee0fc999fb1
component in MediaPanel as well as VirtualMediaPanel.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1482 542714f4-19e9-0310-aa3c-eee0fc999fb1
to handle scrolling in a much cleaner and happier way. There's now a
VirtualMediaPanel which operates in virtual coordinates and can be made to
"view" any location in those virtual coordinates. By changing the view,
the view can be scrolled and the view can be made to center on a pathable
(generally a sprite) which will cause it to scroll around as the pathable
moves around in the virtual coordinate space.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1475 542714f4-19e9-0310-aa3c-eee0fc999fb1
ticking when paused rather than un-registering and re-registering
ourselves as a frame participant to effect same.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1383 542714f4-19e9-0310-aa3c-eee0fc999fb1
it is displaying in a space smaller than its desired view size.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1345 542714f4-19e9-0310-aa3c-eee0fc999fb1