Commit Graph

14443 Commits

Author SHA1 Message Date
Stefano Ceccherini
df555388b9 Don't look for bugs in other people's code. The bug is in your code. IOW BDirectWindow apps now work fine :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-11 00:45:45 +00:00
Stephan Aßmus
c5522d81d8 * added SetUserClipping() and DrawingRegion(), which is used for
handling client defined clipping. The client clipping stays in local coords,
  which greatly simplyfies things. We ought to find a way to reduce the number
  of regions needed per Layer. I just added another one...
* renamed a few "lay"s to "child".
* used the new client added clipping in ServerWindow


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-11 00:19:32 +00:00
Stephan Aßmus
41f78f7884 the current clipping is the combined user defined clipping from all previous states
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-11 00:14:58 +00:00
Stephan Aßmus
d3b27f09af check if the bitmap size can even be expressed in an int32, set init status to B_BAD_VALUE if not. This works arround a bug in WonderBrush... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-11 00:12:32 +00:00
Stephan Aßmus
d28b9f6540 * disable caching of the clipping region,
there can be no notification when it changes in the server.
  Note that GetClippingRegion() gets the actually effective clipping,
  not only the user defined clipping.
* when removing ourself, set the last mouse moved view of the parent
  window to NULL in case it was pointing to this view
* round the frame rectangle passed to the constructor, I have not
  actually compared this with R5 behaviour though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-11 00:10:03 +00:00
Stefano Ceccherini
b2cc1487d1 Send notifications for directwindow when a window is moved
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-11 00:10:03 +00:00
Stephan Aßmus
8111539117 a quick solution to get some B_EXITED_VIEW transit when the mouse leaves a view, probably gets replaced when Axel is looking into the event handling stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-11 00:00:29 +00:00
Axel Dörfler
8f5f0ec4b1 * fixed case for WinBorder::MouseDown() if there is no layer below the mouse - might
not even be a valid condition, but seems to happen.
* style cleanup...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 22:30:43 +00:00
Axel Dörfler
51a2d41103 Made the code a bit nicer by following Stefano's and Stephan's suggestion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 22:15:11 +00:00
Adi Oanca
e2ad4ab9b2 Not in mood for too much coding, I had a look through the code tonight. And guess what? Like Stefano
the other day, I discovered, not a bug, but how to invalidate only the area that requires it when
changing window order (selecting or moving to back a window). Stuppid me, that stuff didn't worked
because I forgot how windows were arranged in the list returned by Workspace::GetWMState(). I was
iterating the wrong way! :-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 21:52:59 +00:00
Rudolf Cornelissen
716677e500 proposemode B_BAD_VALUE override fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 19:42:03 +00:00
Rudolf Cornelissen
cf12db4b0f updated proposemode to not overrule B_BAD_VALUE anymore in some cases.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 19:34:34 +00:00
Rudolf Cornelissen
53b136fe2e updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 19:24:35 +00:00
Rudolf Cornelissen
6967fb7a1c fixed a few errors in Proposemode: overriding B_BAD_VALUE is fixed, aborting with B_ERROR for dualhead modes in singlehead only colorspaces is fixed (routine continues with B_BAD_VALUE and in singlehead mode then). Bumped version to 0.21. It's refreshing to look from the Screenprefs app perspective :). Fixes done for 'unofficial prefs panel' Dualhead Setup 0.04 optimum compatibility (will be released soon).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 19:19:51 +00:00
Axel Dörfler
0964291534 Added message filter to the CardView; it now intercepts all messages, so that "Command-Q"
will no longer quit the haiku_app_server, but the application running in the server.
"Print Key" now also works as expected.
Only switching workspaces continues to use "Control-Fx" in the test environment. Under
Haiku, it now uses "Command-Fx" as on BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 18:37:55 +00:00
Axel Dörfler
c12196d47b * Removing fonts now works as expected.
* removing a font family or style now always goes through the font manager.
* removed FreeType "cache" remains (it wasn't used, anyway, and won't be used
  by us).
* renamed SharedObject to ReferenceCounting as that's what it does.
* the default fonts weren't deleted on shutdown.
* added temporary work-around for waiting until a newly created entry is complete
  (just waits a moment...) - this will be fixed once Haiku supports this in a
  better way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 17:32:35 +00:00
Rudolf Cornelissen
779d5736a3 clearing TV_PRIMARY flag as Matrox driver can't do primary TVout yet (G400 and earlier hardware can do that though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 16:48:28 +00:00
Jérôme Duval
0bb683fa19 added midi support, untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 16:45:45 +00:00
Rudolf Cornelissen
53ea108855 added custom TV_PRIMARY flag
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 16:38:25 +00:00
Axel Dörfler
0867bda58f Offscreen is also in the other direction...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 16:22:10 +00:00
Axel Dörfler
831a01f893 FontStyles are now also orded, but not alphabetically: their faces determine
the order, regular fonts come first, then bold, and then italics.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 15:48:37 +00:00
Axel Dörfler
fff7b3cd5d Now also sorts the font list - unlike the app_server, it could also take the
user's locale into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 15:40:22 +00:00
Axel Dörfler
36a37b76d6 The font family list is now sorted - besides the obvious advantage for the user,
this also allows binary searching the families (which is now done, too).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 15:33:18 +00:00
Axel Dörfler
d5f377d66c * BinaryInsertUnique() didn't work at all.
* both, BinaryInsert() and BinaryInsertUnique() now propagate the result of
  the AddItem() call - which could fail because of low memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 15:31:18 +00:00
Axel Dörfler
2522a90fd1 Even more font stuff:
* the node monitor is now working - fonts can only be added yet, though
* deleting a FontFamily did not work before, as the last style to be
  removed tried to delete the family again.
* "luckily", FontFamilies and FontStyles were not deleted at all before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 14:52:26 +00:00
Axel Dörfler
174b20a89a Adds the concept of owning the table entries - before, they were always owned,
now it defaults to not-owning.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 14:49:24 +00:00
Axel Dörfler
1419175c27 The FontSelectionView's preferred height was one pixel too large.
Now use ceil() instead of floor() to compute the complete font height.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 14:47:31 +00:00
Axel Dörfler
10c470638d Now checks the font list every 3 seconds, and updates it if there were any changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 14:41:29 +00:00
Stephan Aßmus
5211328a37 turn off on-screen debugging for now, the errors it reported are not that critical, and printing the debug info itself could lead to problems
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 13:38:22 +00:00
Stephan Aßmus
0d660a960b handle errors when reading from the link, at least for the bigger items, it should be enough to just check the error in the last call to Read(), since previous errors are kept in the Link
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 13:37:08 +00:00
Stephan Aßmus
fabffa3867 fixes for Stroke and FillPolygon
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 13:14:24 +00:00
Stephan Aßmus
97078ce5e6 also return B_BAD_VALUE in case NULL pointer passed, please yell if you disagree with this change, but I thought the client code could look less cluttered this way
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 12:00:10 +00:00
Axel Dörfler
04cd47db59 common_access() now follows the same logic as traversing paths: if the file system
doesn't export the fs_access() function, it assumes access is granted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 11:17:03 +00:00
Stefano Ceccherini
ac50702270 BMenu::FindMarked() was broken just like FindItem() was. And it's even my fault. Yay!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 10:12:58 +00:00
Jérôme Duval
6dd2dfb15e update time preference signature
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 09:36:52 +00:00
Axel Dörfler
7c3d8ad0c7 * added a call to png_set_strip_alpha() which could fix the alpha channel
problem we're seeing (at least I couldn't reproduce the problem anymore).
* SaveToPNG() now returns an error code.
* cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 23:52:27 +00:00
Axel Dörfler
789f68f07a Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 22:25:34 +00:00
Axel Dörfler
2f48d972f7 * Fixed updating in non-INSTANT_UPDATE mode.
* should now build correctly with Dano, R5, Haiku, and libbe_test targets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 20:24:23 +00:00
Adi Oanca
76d68e8ad8 More cleanup.
* moved code from Layer::do_MoveBy/do_ResizeBy/do_ScrollBy into
Layer::MoveBy/ResizeBy/ScrollBy()
* removed do_Move/Resize/ScrollBy()
* removed WinBorder::_ResizeBy()




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 20:14:52 +00:00
Axel Dörfler
90dfa70739 * ServerFont now also adopts the FontStyle's face and direction on
construction.
* ServerFont::SetStyle() now adopts the style's face and direction, too.
* Started a more sane handling of ServerFont::SetFace() (at least there's
  a to-do comment :-)).
* Minor cleanup (GetStyle() -> Style(), GetFamily() -> Family(),
  GetPath() -> Path()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 20:10:40 +00:00
Axel Dörfler
4e7d1d4b6a Oops: 1) fixed warning, 2) added missing bracket (in PrintToStream() output).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 20:05:58 +00:00
Axel Dörfler
31cff4dc84 Made BFont::PrintToStream() a bit more useful.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 20:04:12 +00:00
Axel Dörfler
a4c2c8924d * No longer updates anything in SetDefaults() if the default font is the
same as the current font.
* Don't allow reverting after "Defaults" if there were no changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 20:03:27 +00:00
Axel Dörfler
2fe84ae95f Now AS_GET_DEFAULT_SYSTEM_FONT actually returns the default font as used
by the app_server (ie. also if it's a fallback font).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 19:22:21 +00:00
Axel Dörfler
974dd00c85 The font manager now has default fonts for bold/fixed as well - these are now used
in the DesktopSettings as defaults, too (but can be changed there).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 19:16:25 +00:00
Axel Dörfler
16f782ccbd Implemented AS_SET_SYSTEM_FONT.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 19:14:13 +00:00
Axel Dörfler
74ca263c69 More or less rewrote the font preferences panel:
* no more "Rescan" button (although the font list is never updated yet)
* completely font sensitive
* centers window on screen if settings are invalid or not existing
* now updates the system fonts instantly, and not when you close the app
* added author list, although I am not sure who actually initially wrote it
  (our CVS history unfortunately doesn't reach that far)
* major cleanup
* removed unused stuff
* and more.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 18:42:05 +00:00
Axel Dörfler
f1d70d8037 New private function _get_system_default_font_() that makes the AS_GET_DEFAULT_SYSTEM_FONT
command available to the fonts preferences.
Now uses the maximum length argument for LinkSender::AttachString() it got from the API user.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 18:37:01 +00:00
Axel Dörfler
d0a688ee92 Introduced and implemented new font command AS_GET_DEFAULT_SYSTEM_FONT that returns
the default fonts of the app_server.
Moved some font command implementations around to group them a bit better.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 18:34:48 +00:00
Axel Dörfler
f46e077c5f Changed the meaning of the second parameter in AttachString(): it's now the maximum
length, not the length of the string.
Introduced a maximal string length that may be sent at once.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 18:28:13 +00:00