* Implemented BGradient, BGradientLinear, BGradientRadial,
BGradientDiamond, BGradientConic and BGradientRadialFocus
new Interface Kit classes.
* Implemented all the (AGG-based) backend necessary in
the app_server to render gradients (Painter, DrawingEngine)
* app_server/View can convert a BGradient layout to screen
coordinates.
* Added BGradient methods of the Fill* methods in BView.
* Implemented a test app and added it to the image as a
demo.
* Adopted Icon-O-Matic and libs/icon in order to avoid
clashing with the new BGradient class. Re-use some
parts where possible.
Awesome work, Artur! Thanks a lot. Now a more modern
looking GUI has just become much easier to implement! :-)
TODO:
* Remove the need to have gradient type twice in the
app_server protocol.
* Refactor some parts of the patch to remove duplicated
code (Painter, DrawingEngine).
* Adopt the BPicture protocol to know about BGradients.
* Review some parts of the BArchivable implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28109 a95241bf-73f2-0310-859d-f6bbb57e9c96
example. One could also design them to be 3D icons like regular icons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28099 a95241bf-73f2-0310-859d-f6bbb57e9c96
- initialize the time_base_frequency kernel arg (should be done in the bootloader though...). We will use MFP timer to support system_time(). At least try to.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28098 a95241bf-73f2-0310-859d-f6bbb57e9c96
16 x 16 to 64 x 64).
* Changed the layout code to have dynamic padding depending on main icon size.
* Fixed a problem with the "Auto Raise" feature where, when the pad was along
the bottom, you had to tip the top of the screen with the mouse for the pad
to raise...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28096 a95241bf-73f2-0310-859d-f6bbb57e9c96
new '-u' option, or let it generate one automatically (by building a hash over
the full path of the image).
* This is allows you to use our images in VirtualBox without having to readd
the hard drive with every rebuild.
* Enlarged the description section to 1024 bytes - this also prevents VirtualBox
from writing data beyond the description size.
* Added '-d' option to just dump info about an existing vmdk image file (only
monolithic mode is supported, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28093 a95241bf-73f2-0310-859d-f6bbb57e9c96
by tab indents everywhere.
* Remove special handling in map_physical_memory to handle page offset and
length. Opposed to BeOS, Haiku does both automatically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28091 a95241bf-73f2-0310-859d-f6bbb57e9c96
written on load of the ACPI module.
* Fix waiting for a semaphore. It didn't ever use the timeout because it missed
the B_RELATIVE_TIMEOUT and the timeout value would've been wrong as well
since it didn't convert from milli- to microseconds.
* Do away with the hack of not actually using spinlocks because it apparently
didn't work on Dano. Now normal spinlocks are used.
* Also remove the atomic test and set function that was used for locking.
* Panic in case an interrupt handler is removed, because it cannot (yet) work.
* Use system_time() to instead of using gettimeofday() and converting.
* Fix reading PCI config, the width was used wrongly so nothing was returned.
* The physical memory read/write function didn't actually do anything or would
at worst have accessed unmapped memory. It now uses a bit of private VM
functionallity to actually implement reading and writing physical memory.
* Some style cleanup, more to come in the next commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28090 a95241bf-73f2-0310-859d-f6bbb57e9c96
* When the consumer does not want to consume a glyph, make
sure the advance values are being reset before breaking out of the
loop. These are used one more time after the loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28083 a95241bf-73f2-0310-859d-f6bbb57e9c96
gen_mattypes build tool, as the latter will try to use BeOS headers on BeOS
compatible host platforms and therefore breaks the build because of missing
files. This should work on all platforms, as with that the headers in the
repository are always used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28076 a95241bf-73f2-0310-859d-f6bbb57e9c96
- handle line feeds
- warn when text is too long
- better control points, but it's still not correct
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28072 a95241bf-73f2-0310-859d-f6bbb57e9c96
* BlockAllocator::AllocateBlocks() was implemented pretty crappy: instead of
just remembering the best run on the first pass, it made a second pass through
all allocation groups when it couldn't fulfill the maximum request.
* Even worse, it would then also only allocate the first run that satisied the
minimum request. Now, it will always choose the best allocation, leading to
less fragmentation, and an improved runtime.
* Now mmlr hopefully won't need to wait 10 minutes for the bloc allocator to
create the swap file on his fragmented volume...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28071 a95241bf-73f2-0310-859d-f6bbb57e9c96
mounting by name failed).
* Also left some TODO comments in the code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28069 a95241bf-73f2-0310-859d-f6bbb57e9c96
and will only show the "mount me read-only?" dialog when the file system
actually supports writing in the first place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28067 a95241bf-73f2-0310-859d-f6bbb57e9c96
- handle dropped/pastes text as shapes with path (and style when with text_runs from StyledEdit)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28064 a95241bf-73f2-0310-859d-f6bbb57e9c96
Reimplemented the drag message over the team entries dragging. The previous
implementation used the menu bar tracking by faking a B_MOUSE_DOWN event. The
problem was that in Haiku menus are always sticky and therefor the tracking
thread was not exited when the user released the mouse (which was supposed to
trigger the drop event in the Deskbar). The new implementation follows the
drag in the asynchronous mouse hooks and uses it's own selection state in
TTeamMenuItem to highlight the eventual drop targets.
Fixes#2771.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28063 a95241bf-73f2-0310-859d-f6bbb57e9c96