Closed Bug 329777 Opened 14 years ago Closed 14 years ago
OS] Export widget view state to gfx-backbuffer view .
Currently in nsSurfceBeOS only thing which we inherit from original onsreen BView is its size. So we rely fully on nsRenderingContext methods, which cause already several problems in past and forced us to create several workarounds For me it looks unsufficient 1)We loose clipping region, which affects, for example, scrolling with iframes. as our backbuffer view at bitmap has included in clipping those regions belonging to children (in backbuffer we/mozilla don't recreate view hierarchy). So, inspite trick with hiding children, scrolling is still bit flacky. 2)In future embedding attempts we should rely bit more on font/color/background set via widget methods 3)without this export nsRenderingContextBeOS::LockAndUpdateView() cannot be optimized as good as i wish it be. Unfortunately constructor form BView(const BView *) is private, and i didn't found methods in native API for state export/import. So, probably, we should get and set: ClippingRegion, Font, ViewColor, HighColor LowColor manually. Maybe origin too, if I return to Scroll() refactoring yet another time. Other state parameters isn't set in widget, IIRC, but maybe i forgot smth. P.S. My current attempt to add it all here seems resulting in better scrolling already.
wish to close this bug too. r=?
Assignee: beos → sergei_d
Status: NEW → ASSIGNED
Attachment #228483 - Flags: review?(thesuckiestemail)
Comment on attachment 228483 [details] [diff] [review] patch email@example.com
Attachment #228483 - Flags: review?(thesuckiestemail) → review+
Checking in mozilla/gfx/src/beos/nsDrawingSurfaceBeOS.cpp; /cvsroot/mozilla/gfx/src/beos/nsDrawingSurfaceBeOS.cpp,v <-- nsDrawingSurfaceBeOS.cpp new revision: 1.25; previous revision: 1.24 done ------ That should be followed by method SetupView (olvdview, newview) in nsRenderingContextBeOS and maybe with some changes in nsWidget::Onpaint(). Our Rendering context impl. is still bit flacky - we cannot release surfaces, we cannot use non-cached version of backbuffer. Will see if I open bug for nsRenderingContextBeOS only, or also for DrawingSurface more deep restructuring (required also for printing support)
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.