Commit Graph

261 Commits

Author SHA1 Message Date
Michael Bayne 78ec4ab84b Temporary ship recolorizations.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1357 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-09 18:43:32 +00:00
Michael Bayne 34f9f3d8c6 Leave the images in 8-bit format when we return them from the tileset
bundle so that we can recolor them if we later desire.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1356 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-09 16:51:26 +00:00
Michael Bayne 2739abf915 Support compositing images that haven't already been expanded into
separate rasters.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1355 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-09 16:49:16 +00:00
Walter Korman bd6146292f Restore the original clip only after we've un-translated the graphics
context.  Minor reformatting and enhanced toString().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1352 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-09 04:42:10 +00:00
Michael Bayne 7a7309f347 Make the tiler cope if it's given a null source image.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1348 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-07 03:23:46 +00:00
Michael Bayne 04a1b4a38a Created a helper class that can be used to render a tiled background image
that is generated by cutting up a small image into nine sections and using
each appropriately to create the expanded background.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1347 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-07 03:11:17 +00:00
Michael Bayne ac31caa28b Added support for centering the media panel on a region of interest when
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
2002-05-07 00:53:56 +00:00
Michael Bayne 320706e857 Do our recoloring in one fell swoop.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1341 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-06 23:23:27 +00:00
Michael Bayne 8063347815 Modified image recoloring to use Colorization objects since they now live
in the same package. Also added support for applying a set of
recolorizations all at once so that previous recolorings aren't borked by
subsequent recolorings (plus it's more efficient).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1340 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-06 23:23:08 +00:00
Michael Bayne 99c4330646 The vast and the sweeping. Modified the tile framework such that tiles no
longer provide access to their underlying image (they actually still do,
but not in the normal course of affairs). This will allow us to use
"trimmed" tiles which are trimmed to the smallest rectangle that contains
the non-transparent pixels in a tile image, which will shrink up our
components and other tiles a great deal.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1339 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-06 18:08:32 +00:00
Ray Greenwell 1c182d6e36 this line should have been commented out too
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1338 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-04 21:36:32 +00:00
Michael Bayne 47e38b4fa8 Changed MultiFrameImage around so that it retains total control over its
internal images and doesn't necessarily need to decode them into multiple
images or even have actual images at all. This cleans things up and paves
the way for our "trimmed" image support which is forthcoming.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1335 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-04 19:35:31 +00:00
Michael Bayne 0492637aa0 Moved hitTest() into ImageUtil where its accessible to all that need it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1334 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-04 19:34:14 +00:00
Michael Bayne 33eb11b8f6 Fixed yet another bug with the Swing rendering code: apparently the
JEditorPane, when displaying HTML that contains forms, pointlessly wraps
its Swing components in heavy weight AWT components which would otherwise
trigger some funny business that we don't want it to trigger.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1332 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-04 05:13:54 +00:00
Michael Bayne d43442b3dd Changed debug logging so that it is easier to enable and disable since I
seem to be debugging the fucking rendering every other day. Fixed bug with
dirty region combining.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1331 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-04 03:09:46 +00:00
Michael Bayne a98f5f617a Yet more rendering fixes: we render the frame participants before the dirty
Swing components and we go through and specifically render any components
in the upper layers (see JLayeredPane for what this means) that overlap
our frame participants every frame. This is non-optimal, but the hairy
code that somehow magically works out who to repaint when components
overlap is not even something that I want to dig more deeply into. There
are generally not many components in the upper layers (only popups like
menus and tooltips and internal frames when we use them).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1329 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-03 04:16:41 +00:00
Michael Bayne 4da9a66c1d Fixed more repaint bugs. We weren't properly painting the opaque component
when doing old-skool rendering. We also needed to climb up the hierarchy
looking to see if a parent is dirty for each dirty component and combine
the child and parent dirty rects and only repaint the parent otherwise we
can run into problems with render order. Oh the complexity (though Swing
does this too).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1328 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-03 04:14:20 +00:00
Michael Bayne 530a348890 Added tileImageDown().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1318 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-30 02:14:13 +00:00
Michael Bayne 6ecc381180 Added tileImageAcross().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1316 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-29 01:12:54 +00:00
Michael Bayne d107dd790f If we have no clip, we need to repaint our whole bounds.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1314 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-28 02:50:32 +00:00
Michael Bayne b602cb4fce Modified frame manager to do the right thing in terms of repainting
everything if we lose our volatile offscreen buffer image.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1313 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-28 02:49:32 +00:00
Michael Bayne 7af3e3afdc Was preferring lowest not highest.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1311 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-28 01:30:10 +00:00
Michael Bayne 872e10f11d Catch IllegalArgumentException if it's thrown while we're loading our
images. The PNG loader seems to be kind enough to throw fucking runtime
exceptions when it encounters file format problems instead of throwing
IOException or some other declared exception.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1310 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-28 01:19:11 +00:00
Michael Bayne b68d34e4e8 Use the width and height that we so handily obtained earlier.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1307 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-27 22:40:09 +00:00
Michael Bayne 46b6defc06 Removed some debug logging; tried the buffer strategy approach which won't
work because we're not painting everything on every frame, but left the
commented out alternative rendering code in there in case we want to
fiddle with it at a later date (or provide support for buffer strategies
for applications that do want to paint everything).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1306 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-27 22:39:45 +00:00
Michael Bayne 116ce388ca Need to translate to the coordinates of the opaque parent we're
repainting, not necessarily the original component we're repainting.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1305 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-27 19:12:00 +00:00
Michael Bayne b9af18d10e We need to paint the first opaque parent of a dirty component rather than
the dirty component directly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1304 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-27 18:59:55 +00:00
Michael Bayne 6a7fd11321 Try filling the offscreen buffer with a solid color after we create it to
avoid painting garbage to the screen.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1303 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-27 18:59:27 +00:00
Michael Bayne 3fa39d06ff Fixed up borked translated dirty region handling.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1298 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-27 04:57:05 +00:00
Michael Bayne 3713cf1034 More repaint manager fixes. We're now behaving even more closely like
Swing would behave.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1296 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-27 02:33:14 +00:00
Michael Bayne 23d170c83e Added support for pausing a media panel which pauses all sprites and
animations currently operating therein. (It doesn't pause scrolling which
I suppose I'll have to fix at some point if we ever need it.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1292 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-25 16:23:31 +00:00
Michael Bayne 6549a27189 Need to avoid counting a components offset twice.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1290 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-23 03:10:59 +00:00
Michael Bayne 47c94068ec Need to restrict the clipping rectangle, not replace it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1289 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-23 03:10:39 +00:00
Michael Bayne cc6a9d00ef Major low-level rendering rethink. There will be much follow-on cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1286 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-23 01:16:28 +00:00
Michael Bayne 6a908b86c6 Added a utility class that encapsulates our display mode jockeying.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1280 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-19 00:38:44 +00:00
Michael Bayne b4d50d0843 Fixed bug where last render time was being used where last scroll time was
needed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1279 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 22:38:24 +00:00
Michael Bayne 42dc17a474 Started refactoring code to allow derived classes to expand the bounds of
the sprite to contain more than just the image. I didn't go all the way
though because I started looking at the stuff to handle render origin and
render offset and couldn't bring myself to add another offset into the mix
so it'll have to wait until I can give it some more serious thought and
perhaps simplify what we've got.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1264 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-17 15:52:49 +00:00
Michael Bayne c0a265d284 Removed debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1260 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-16 20:38:24 +00:00
Michael Bayne 1e5c1bcfe7 Only update the sprite's orientation if we have a valid one.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1259 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-16 18:24:43 +00:00
Michael Bayne 935276fb5d Made addNode() public so that external entites can create line segment
paths one node at a time and add their desired orientation to the nodes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1256 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-16 17:00:33 +00:00
Michael Bayne f458a84d9e Translation needs to go the other way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1255 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-16 02:29:05 +00:00
Michael Bayne a814589499 Get the sprites involved in scrolling; they now either scroll with the
view or remain fixed relative to the scrolling view (the default and also
the old behavior).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1253 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 23:10:24 +00:00
Michael Bayne 834d9099d6 Added viewWillScroll() for letting a path know that the view in which its
sprite was following a path is going to scroll; fixed bug in
getDirection(); added setDuration() which computes the path velocity based
on the time that the sprite should spend following the path.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1252 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 23:09:10 +00:00
Michael Bayne 06f8a68b56 Moved RandomUtil from media.util to util.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1248 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 18:18:20 +00:00
Michael Bayne a88799d4a1 Scroll fiddling! We no longer set a desired x and y velocity directly,
instead we say that we want to scroll by a certain amount in a certain
amount of time. This allows the animated panel (who knows about this
stuff) to figure out when to stop scrolling without overshooting by a
pixel or two.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1244 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 17:46:41 +00:00
Michael Bayne 20e39601c8 Changed AnimatedPanel to a JComponent from a Canvas because we no longer
need to extend the latter.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1207 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 04:49:43 +00:00
Ray Greenwell 30556274df Obsolete. Functionality made more generic and moved to
com.threerings.media.util.ImageUtil.composeMaskedImage()


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1205 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 03:44:41 +00:00
Ray Greenwell d4df933e28 added composeMaskedImage() to composite the alpha from one image and the
RGB from a second.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1202 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 03:41:18 +00:00
Ray Greenwell 9106842c04 initial revision
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1200 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 02:15:37 +00:00
Michael Bayne 50012b1cd1 Only rewrite out the tileset map if it has changed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1180 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-03 22:42:22 +00:00