The views system is designed with some amount of portability in mind. The general design is intended to be as follows:
- Widget implementations are specific to a particular platform. See WidgetWin for the Windows version. - Almost all of the Views should be mostly cross platform, with the exception of NativeControl and HWNDView and friends. I would recommend starting by trying to get view.h/cc to compile on Linux (ifdef out a lot of the platform specific detritus to begin with - you don't need drag & drop on day 1). Once you've done this, you can try writing the Linux version of WidgetWin. That'd be WidgetGtk or WidgetWhatever you end up going with. FYI, my eventual intent is for views to move into a DEP alongside chrome instead of inside it, though chrome will always source it @HEAD, at least for the forseeable future. -Ben On Tue, Dec 16, 2008 at 8:34 AM, Adam Langley <[email protected]> wrote: > > On Mon, Dec 15, 2008 at 11:23 PM, joshthecoder <[email protected]> wrote: >> What are the plans so far on how to port the Views UI layout layer to >> linux? > > I spent a couple of days last week porting views and it looks like > it'll be quite the task. My method at the moment is to do it in a very > hacky way for a few hours and then redo properly that which still > makes sense in hindsight. > > #ifdefs should be kept to a minimum, but there's still a threshold at > which it doesn't make sense to add another file. With chrome_canvas > and chrome_font (actually in chrome/common/gfx, but needed to be done) > I kept the header with #ifdefs and split the .cc files; doing binding > at link time. > > For things like OSExchangeData which are very platform specific, one > might split the header files too and use a forwarding header (#ifdef > ... #include ... #else #include ... #endif). > > > AGL > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Chromium-dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/chromium-dev?hl=en -~----------~----~----~----~------~----~------~--~---
