will scroll automagically if, even after doing its damnedest to make it fit, it still doesn't. This
will only happen if the menu (or submenu) is so tall that the it stretches from the bottom of the
bounds it's using, and extends past the top of the bounds.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@526 ed5b42cb-e716-0410-a449-f6a68f950b19
scrolling of any kind of the verticalScrollPolicy is set to ScrollPolicy.AUTO or ScrollPolicy.ON,
and the maxHeight has been set.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@525 ed5b42cb-e716-0410-a449-f6a68f950b19
in submenu layout, but it could never get set to anything but null. So, now it just assumes that
it should be fitting to the stage and does that (it would previously just put the menu wherever
its broken math put it, and not checking against the bounds of anything). I have a slight
inclination to bring back a method for supplying a fitting Rectangle so that it can be fitting these
menus between the header bar and control bar. Maybe I'll just do that next.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@518 ed5b42cb-e716-0410-a449-f6a68f950b19
this ugly pattern.
FYI, CommandButton also has buttonMode follow enabled-ness.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@493 ed5b42cb-e716-0410-a449-f6a68f950b19
look like it should be clickable. Let's turn buttonMode off when we get disabled.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@492 ed5b42cb-e716-0410-a449-f6a68f950b19
than -1, 0 or 1, Sort.findItem() goes into an infinite loop. Guard against that here.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@487 ed5b42cb-e716-0410-a449-f6a68f950b19
to assign a style name to the List instance. Also made the default renderer always use a
transparent background.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@486 ed5b42cb-e716-0410-a449-f6a68f950b19
to update and remove entries from the list may very well not have a reference to the same object
that is stored in the PlayerList (base case is Names in a DSet getting updated/added/removed). By
using a HashMap, we just need to ensure the hashCode() is the same, which is especially handy in
the display name update case where the MemberName.hashCode() is the memberId.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@483 ed5b42cb-e716-0410-a449-f6a68f950b19
works fine (better, really) with a Dictionary and pure object equality, so lets just do that.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@481 ed5b42cb-e716-0410-a449-f6a68f950b19
simplify my testing to check it in, so let's do just that.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@480 ed5b42cb-e716-0410-a449-f6a68f950b19
automatically shutdown (stop the loading and unload()) when removed from the stage.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@479 ed5b42cb-e716-0410-a449-f6a68f950b19
I'm recreating the video and the bitmap when I change camera dimensions.
But it seems that once a video is snapshotted into a bitmap,
the camera somehow remembers the resolution, and future snapshots of
a new video object attached to that camera always end up at the same size.
It doesn't make any sense and I can't even work around it because
the first snapshot could have happened outside of this code.
I did:
- show some text behind the video, so that selecting a non-working camera
gives a little feedback.
- cleaned up NPE that happened if clearSnapshot() was called when it was
already cleared.
- Detach the camera from the old video before setting up a new one
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@467 ed5b42cb-e716-0410-a449-f6a68f950b19
snapshotting works and my scale hack throws it out of wack.
Uhhh. I know I wasn't booching it and running out-of-synch code
together, because everything's in this class and I had loads
of trace logging in here when I was working with it on monday.
I wouldn't believe myself if I hadn't been there.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@466 ed5b42cb-e716-0410-a449-f6a68f950b19
A: shit like this.
30 minutes of tweaking and trying things to get it to ACTUALLY snapshot at
specified size. The damn video control always says that videoWidth and
videoHeight are 0, but if you size the Camera correctly and attach the video
it works. Turns out that the video control, when snapshotted into a
bitmapdata, always thinks it's 160x120, but if we scale it up we can see
the pixel data that's really there. What the fuck?!
Oh well, it works now, but why does adobe make these things so difficult?
The only reason I got it working was trial and error and cargo-culting off
the example in Camera's API docs. Jeez.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@465 ed5b42cb-e716-0410-a449-f6a68f950b19
In fact, it can be swapped while the user is dragging it...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@463 ed5b42cb-e716-0410-a449-f6a68f950b19
and will trigger events. Instead, sort the children and then
set their indicies.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@461 ed5b42cb-e716-0410-a449-f6a68f950b19
has not already been dispatched. This is a pain in my ass.
Make MediaContainer dispatch UNLOAD when it unloads its business,
regardless of whether things have been initialized.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@458 ed5b42cb-e716-0410-a449-f6a68f950b19
this won't happen, but it did today for folks with a cached crossdomain.xml.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@457 ed5b42cb-e716-0410-a449-f6a68f950b19
That's because: flex is a pile of shit.
Created a basic KeyManager. This will probably change a lot, but it's
serving its purpose now.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@453 ed5b42cb-e716-0410-a449-f6a68f950b19
Added popUpAtMouse(), which is like our show() (which shows at the mouse)
only also allows specifying popLeftwards and popUpwards.
Also, in our show(), just fit the damn menu onto the stage. Always.
Why have a special method for doing what should be the common case?
I suppose the old code was trying to fit the menu into the roomview bounds,
which might've been nice if it actually worked.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@452 ed5b42cb-e716-0410-a449-f6a68f950b19
Just don't worry about rawChildren in a flex component.
Nothing is really using this method anyway.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@447 ed5b42cb-e716-0410-a449-f6a68f950b19
Contains dashRect() and dashTo() that Robert wrote for room editing.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@444 ed5b42cb-e716-0410-a449-f6a68f950b19
- Since quicksort is unstable anyway, might as well avoid a swap if two elements are equal.
- Be generous with the comparator function. It should really return -1, 0, 1, but sometimes people
return positive numbers, 0, negative numbers...
- If Array.sort() is a stable sort, I think we should just change this impl to put all
children into an array, sort'em, then set their indexes back into the parent.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@423 ed5b42cb-e716-0410-a449-f6a68f950b19
maximum visibility even if they can't fully pop up/down, left/right. (Menu's larger than
the bounded area will still have some issues).
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@417 ed5b42cb-e716-0410-a449-f6a68f950b19