Commit Graph

40471 Commits

Author SHA1 Message Date
Alex Wilson
8f0b7c3fb8 Update doxygen docs for Layout, LayoutItem on invalidation. 2011-12-06 23:39:16 -07:00
Alex Wilson
ea0a06e213 Remove redundant checks for fParent before calling _InvalidateParentLayout(). 2011-12-06 22:35:46 -07:00
Alex Wilson
182e2ee973 Add a bit more FBC stuff for the Layout API, which I missed before. 2011-12-01 22:47:46 -07:00
Alex Wilson
d56e7bd64d Make archiving hooks protected in layout classes.
Furthermore,
* remove a stray blank line in Layout.cpp
* make BLayoutItem::SetLayout() private, as it should have been
2011-12-01 20:45:50 -07:00
Alex Wilson
f98f5ca48b Fix bug in BView::RemoveSelf() that lead to a segfault.
Once again, the BObjectList removal behaviour leads to a null dereference. It's my fault of course, but there you have it. Comments have been included for future devs.
2011-12-01 19:08:56 -07:00
Alex Wilson
53617d366d Override a bunch of methods in layout related classes for FBC stability.
* Especially made sure to override archiving methods, since these are called rarely, so the cost is very minimal
* Otherwise, the closer a class is to a base class, the more likely I was to give it all the overrides.
2011-11-05 14:25:06 -06:00
Alex Wilson
121a15ea8f By convention, Perform() methods are public, make this true for BLayout. 2011-11-05 01:58:56 -06:00
Alex Wilson
0c8b758c09 Add a BView::LayoutChanged() method, called after layout of this view and children.
Fixes #7683.
2011-11-05 01:03:07 -06:00
Alex Wilson
fceb7ee27e Add FBC padding + Perform() methods to GridView and GroupView.
We probably won't need these, but these additions are cheap.
2011-11-04 23:08:11 -06:00
Alex Wilson
e044d51aa8 Forbid copying and assignment in layout classes.
Specifically in:
 * BAbstractLayout
 * BAbstractLayoutItem
 * BGridLayout
 * BGridView
 * BGroupLayout
 * BGroupView
 * BLayout
 * BSplitView
 * BTwoDimensionalLayout
2011-11-04 22:23:22 -06:00
Alex Wilson
8151838e38 Add FBC padding to all (I think..) of the visible Layout related classes. 2011-11-02 00:29:33 -06:00
Alex Wilson
a851b3ad54 Add Perform() methods to all the layout-related classes that needed them. 2011-10-31 14:57:30 -06:00
Alex Wilson
0843fb4572 Revirtualize BLayout::Relayout(), since it is in fact inherited from BLayoutItem and virtual anyway.
Also add a comment to make this obvious.
2011-10-28 14:17:05 -06:00
Alex Wilson
7ab5610ba9 Update layout docs for LayoutInvalidated() changes. 2011-10-28 14:17:02 -06:00
Alex Wilson
9e9698bcd8 Delete scratch files that weren't meant to be commited... 2011-10-28 14:17:00 -06:00
Alex Wilson
954c5e46a1 Fix a bug in LayoutTest1, where we were getting the view of a view-less layout, and then calling methods on it, resulting in a (SURPRISE!) segfault. 2011-10-28 14:16:57 -06:00
Alex Wilson
e7b0dc78f7 Now that child classes aren't overriding the various InvalidateLayout() methods, we can take advantage of some guarantees to simplify/clean/optimize the layout invalidation propagation mechanisms! 2011-10-28 14:16:54 -06:00
Alex Wilson
c74faed432 Add BLayoutItem::LayoutInvalidated() hook. Leave BLayoutItem::InvalidateLayout() (and therefore BLayout::InvalidateLayout()) virtual. This is needed to let BLayout override it for invalidation propagations. 2011-10-28 14:16:52 -06:00
Alex Wilson
61eb1f1d19 Replace remaining InvalidateLayout()'s with LayoutInvalidated(). Also do a bit of cleanup/move methods around. 2011-10-28 14:16:49 -06:00
Alex Wilson
17499672a0 Bring BALMLayout in line with changes to BLayout. 2011-10-28 14:16:46 -06:00
Alex Wilson
eee4243d35 De-virtualize BView::InvalidateLayout() and introduce LayoutInvalidated() hook, like BLayout. 2011-10-28 14:16:43 -06:00
Alex Wilson
b38ea98f52 Devirtualize BLayout::InvalidateLayout(), add a protected hook BLayout::DoLayout(). This will allow for much better control over the propagation of layout invalidations, and therefore cleaner, more optimal code. 2011-10-28 14:16:39 -06:00
Alex Wilson
449f014bcc Fix typo in BLayoutItem::SetLayout() which led to passing the wrong layout to the DetachedFromLayout() hook. 2011-10-28 14:16:37 -06:00
Alex Wilson
f87e4c7302 Fix bug in Layout.cpp's ViewRemover struct. operator() didn't deal well with NULLs. 2011-10-28 14:16:34 -06:00
Alex Wilson
90e615679c Fix a bug in BLayout::AddItem() where the right conditions + an error would have
caused the wrongful removal of a BView from its parent.
2011-10-28 14:16:31 -06:00
Alex Wilson
b8725ee37e De-virtualize BLayout::Relayout(). I think this was virtual only by accident. 2011-10-28 14:16:28 -06:00
Alex Wilson
4e0131f51b Rename BLayout::DerivedLayoutItems() to DoLayout(), which is consistent with BView::DoLayout(). Also adjusted child classes and documentation. 2011-10-28 14:16:25 -06:00
Alex Wilson
676c618ad7 Add a little info to the BLayout docs. 2011-10-28 14:16:22 -06:00
Alex Wilson
cc1ca167a4 Fix a memory leak I introduced with my modification of BLayout::RemoveItem() and add comments so that it doesn't happen again. Also resolve some TODOs on the appropriate timing of calls to hook methods in BLayoutItem/BLayout. 2011-10-28 14:16:19 -06:00
Alex Wilson
fa01d08496 User BView's layout item tracking functionality to simplify and optimize some methods in BLayout and BView.
Delete BLayout::RemoveViewRecursive() as it is no longer needed.
Add a few TODO's.
2011-10-28 14:16:16 -06:00
Alex Wilson
30b07d019d Use the classes from AutoDeleter.h to improve BLayout::AddView() and to simplify the ViewRemover struct created for BLayout::AddItem(). 2011-10-28 14:16:13 -06:00
Alex Wilson
ea907ab587 Use BView's ability to track what layout items reference it to simplify BLayout::IndexOfView(). This also changes the semantics slightly, but I think it is a logical change. 2011-10-28 14:16:10 -06:00
Alex Wilson
bd97b9adba Add a BObjectList<BLayoutItem> to BView::fLayoutData that keeps track of any BLayoutItems that refer to this view that are part of a layout. BLayoutItem does the registering/deregistering of the items, and BView::Private proxies fLayoutData for us. Currently, this is not used anywhere, but there are many places where it will be used soon. 2011-10-28 14:16:07 -06:00
Alex Wilson
edb4c8244c Add a method to BView::Private that calls BView::_RemoveSelf().
Add a struct to kits/interface/Layout.cpp that uses BView::Private to
provide RAII mechanics for the removal of views (calling
BView::Private::RemoveSelf()).
Use the new struct to simplify BLayout::AddItem().
2011-10-28 14:16:03 -06:00
Alex Wilson
0926395334 Fix problem in LayoutTest1 under gcc4. For some reason, toggledView was
being assigned to twice, while being passed to Add(). Under gcc4, the
second call to Add(toggledView = new TestView(), ...) was passing in the
original value of toggledView, not the new TestView, which caused a call
to debugger().
2011-10-28 14:16:00 -06:00
Alexander von Gluck IV
397fbc47bb * better identify BAR location defines
* fix bug where we were using an r600 bios pull method
  on r700 cards. this should help prevent shadow rom fallback.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 19:08:37 +00:00
Alexander von Gluck IV
f52ca69c79 * attempt to reduce tracing spam a bit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 16:39:26 +00:00
Alexander von Gluck IV
8fbddad17c * better use Radeon HD 4xxx (r7xx) VM FB registers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 04:42:16 +00:00
Alexander von Gluck IV
025d4eed52 * reorganize register definitions
There were a large number if incorrect, duplicated, misplaced
  registers that were leading to bugs in the code.  This is my first
  shot at cleaning them up.  Luckly as we are using AtomBIOS the number
  of registers we need to know about is shrinking.
* remove registers left over from register banging days
* r770 is less then r710, r720 in the drm sources. Fix in code.
* enable newer radeons for testing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 04:30:54 +00:00
Alexander von Gluck IV
139848f37a * bailing when we can't idle the MC is the correct
behaviour... but while things are incomplete
  it may be better to try and push on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-27 18:03:02 +00:00
François Revol
fe0bb0ec24 Cleanup: reorder includes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 23:56:40 +00:00
François Revol
3c6f4dd82e A description of the Atari TOS PRG file format I used to write the ldscript for the .prg bootloader at src/system/ldscripts/m68k/boot_prg_atari_m68k.ld
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 23:55:00 +00:00
Siarzhuk Zharski
9de720a4ac * Propose using $(STDCPPLIBS) definition for version-independent linking
of standard C++ libraries (stdc++.r4 <-> stdc++ supc++);
* Force C++ language at preprocessing the sources before localization catkeys
  collecting. It gives a hint for compiler to handle .pre file as C++ one 
  preventing breaking on "unfound" C++ headers. Thanks to Vitaly Diger for 
  pointing it out.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 20:12:09 +00:00
Alexander von Gluck IV
bbcc2a8c03 * lets idle the memory controller before checking if it's idle
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 14:11:24 +00:00
Alexander von Gluck IV
46af81655d * redesign pretty much everything frame buffer related
* don't resize the frame buffer after mapping it.. doesn't make sense
* add memory controller code and program the memory controller for r600
* remove unneeded frame_buffer_int
* don't malloc mc_info, waste of time
* fix scaler setting
* vramStart in mc should be 0... get vertical colored lines however when this
  this is set properly (everything in mc_info is the MC view of FB BAR)
  When vramStart is the FB physical address... i get proper video on some cards
  ... thoughts?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 04:51:51 +00:00
Joseph Prostko
5dfed04886 * Fix a couple of spelling mistakes, one which affects functionality
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 02:32:59 +00:00
François Revol
97e22a9b50 Workaround missing mkisofs in Debian sid for ppc boot CD. It needs a rewrite anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 00:02:02 +00:00
Alexander von Gluck IV
a96db7dc36 * vesa != intel. *cough*
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 20:29:41 +00:00
Alexander von Gluck IV
6c80b06bb8 * same blanking value, correct define.
* set blanking color to full red for debugging
  to know when blanking is enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 18:54:17 +00:00
Alexander von Gluck IV
62278874a6 * add TV encoder setup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 18:34:47 +00:00