Fri, 07 Jul 2006
Report 4
The passing week I've read up on the fundamentals of digital compositing as told by A. R. Smith himself. The series of memos he wrote at Microsoft to share his previous experiences and history were a good read. Even though I'm not working on the technical level of producing the illusion of translucency and sprites, it's good to know the theory, and concepts such as design space versus display space. I like recording the historical pieces in Wikipedia where they will hopefully last.
Regarding the Firefox extension, I have written down something general on the topic of extending Firefox. The result of my tests this far is the Hello world! extension combined with this important result of Googling:
var basewindow = window
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebNavigation)
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
.treeOwner
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIBaseWindow);
After that beautiful piece of Javascript using XPCOM,
basewindow is a reference to
nsIBaseWindow, which I can use to move the top-level window with
basewindow.setPosition(400,300); Totally useless, except that
when I go over to C++, the same reference can give me the platform-specific
native window, which seems to be in the form of GdkWindow *. It
should be easy to set window properties from the extension, on the window,
for the Compiz plugin. We'll see just how easy.
Posted at: 16:06 | Permanent link | Comment page
These weblog entries are licensed under a Creative Commons Attribution-ShareAlike 2.5 License

RSS feed of new messages
Atom feed of new messages