1. 09 Mar, 2013 7 commits
    • Alastair Bridgewater's avatar
      backend/clx/mirror: Implement DESTROY-MIRROR. · e39c3205
      Alastair Bridgewater authored
        * Fairly basic, just grab the mirror out of the sheet and call
      XLIB:DESTROY-WINDOW on it.
      
        * It compiles, ship it!
      e39c3205
    • Alastair Bridgewater's avatar
      clx-interface: LET* scope reduction. · b4a4e015
      Alastair Bridgewater authored
        * This is a fairly simple scope reduction, moving from a LET*
      that covers much of INIT-DISPLAY to a LET that covers a single
      form.
      b4a4e015
    • Alastair Bridgewater's avatar
      clx-interface: Use a mirrored SHEET to create our window. · 86de5703
      Alastair Bridgewater authored
        * This is a fairly big milestone, even if some of the design for
      the clx-interface / rendering_1 split is starting to seem a poor
      fit for a CLIM world.
      
        * We define a currently-minimal sheet class that can serve as a
      child sheet, have it adopted by a graft, force it to be mirrored,
      and then use the mirror as our window.  And it all WORKS.
      86de5703
    • Alastair Bridgewater's avatar
      clx-interface: Use the special *WINDOW* instead of the local WINDOW. · 9f50506a
      Alastair Bridgewater authored
        * We're about to transition to using a mirrored SHEET in order
      to create the window instead of using XLIB:CREATE-WINDOW directly.
      As part of doing so, we will remove the local variable WINDOW, so
      we need to update the uses that will remain to point to the
      special variable instead.
      9f50506a
    • Alastair Bridgewater's avatar
      backend/clx/mirror: Initial support for non-GRAFT mirrored sheets. · bfa91b9a
      Alastair Bridgewater authored
        * This is just the method for REALIZE-MIRROR at this point, no
      hookups for event handling (which we don't have any code for yet),
      no support for DESTROY-MIRROR (seven years bad luck), none of the
      special magical integration for things like (SETF SHEET-ENABLED),
      but enough that we can use it to put a window on the screen.
      bfa91b9a
    • Alastair Bridgewater's avatar
      sheet/sheet-parent-mixin: Fix SHEET-{ADOPT,DISOWN}-CHILD mechanism AGAIN. · a6ec2d02
      Alastair Bridgewater authored
        * This time for sure!
      
        * It turns out that a method specialized (SHEET T) comes before
      a method specialized (T SHEET-PARENT-MIXIN), leading to the
      generic "sheet does not accept parenting" message upon adoption.
      
        * Fix, by changing the specializer for the child sheet side of
      the process to (SHEET SHEET-PARENT-MIXIN), which is more specific
      than (SHEET T), and doesn't (CALL-NEXT-METHOD).
      
        * And this should be the last time that we need to fix this
      mechanism, as it has been tested and found to work, at least for
      adoption.
      a6ec2d02
    • Alastair Bridgewater's avatar
      clx-interface: Create and use a CLX-GRAFT to find the root window. · 1c75891c
      Alastair Bridgewater authored
        * One step closer to operating in terms of CLIM rather than CLX,
      we create a CLX-GRAFT (through the private creation interface
      rather than FIND-GRAFT or whatever) and request its direct-mirror
      as the root window.
      
        * The advantage here is that as soon as we have the ability to
      REALIZE-MIRROR for CLX-PORT on a normal MIRRORED-SHEET-MIXIN, we
      can use that to create the window instead of using
      XLIB:CREATE-WINDOW directly.  Add being able to get a MEDIUM for a
      mirrored sheet and some event handling and we've got enough of the
      "silica" layer complete to start in on the higher-level bits.
      1c75891c
  2. 08 Mar, 2013 4 commits
    • Alastair Bridgewater's avatar
      backend/clx/graft: Fix CLX-GRAFT superclass order. · 0975a134
      Alastair Bridgewater authored
        * SHEET, being the most-abstract class, should be LAST on the
      list, as a number of GFs have methods defined to do something
      default on SHEET and expect to be overridden by subclasses or
      mixins.
      
        * In retrospect, requiring a specific ordering for mixins vs. a
      base class is weak design, but I don't currently have a good angle
      for sorting it out and it takes a back seat to getting the basic
      system functional.
      0975a134
    • Alastair Bridgewater's avatar
      load-nq-clim: clx-interface depends on backend/clx/port, and soon graft. · 2218398c
      Alastair Bridgewater authored
        * And the problems with a hand-maintained linearization of the
      true dependency graph begin to raise their ugly head.  At some
      recent point, clx-interface gained a dependency on the CLX PORT
      but the dependency graph wasn't updated.  And soon we can expect
      it to depend on the GRAFT implementation, plus a bunch of sheet
      packages.
      
        * Relocate clx-interface to the bottom of the load list, to at
      least keep things working for now.
      2218398c
    • Alastair Bridgewater's avatar
      backend/clx/graft: Initial rough-in for CLX GRAFTs. · e9278c44
      Alastair Bridgewater authored
        * This has been lightly tested, and seems to work as far as
      mirroring a root window goes, though it has not been tested beyond
      that.
      e9278c44
    • Alastair Bridgewater's avatar
      clx-interface: Restructure window property configuration. · d06e5af8
      Alastair Bridgewater authored
        * Move setting the window background color and event mask to
      separate SETF forms, rather than passing them as parameters to
      XLIB:CREATE-WINDOW, as preparation for using a mirrored sheet,
      which won't allow us to pass such parameters to start with (or,
      possibly, ever).
      
        * Lose the setting for the window border color.  The window
      seems to either have a zero-width border by default or the window
      manager sets it down to that during reparenting, so we don't need
      to set it.
      d06e5af8
  3. 07 Mar, 2013 2 commits
    • Alastair Bridgewater's avatar
      clx-interface: Use a CLIM PORT to find the X server. · 28877db5
      Alastair Bridgewater authored
        * Moving towards using more CLIM and less straight X in our test
      program, use FIND-PORT to open a CLX connection, and retrieve the
      DISPLAY handle from the port.
      
        * Currently, this just adds another layer of indirection to
      setting up our window, but once we have working mirrored sheets
      and a CLX-GRAFT class things should simplify a bit.
      28877db5
    • Alastair Bridgewater's avatar
      clx-interface: Excise all of the (disabled) GLX noise. · 85b779f6
      Alastair Bridgewater authored
        * All of this GLX code is disabled, and dates back to when this
      file was part of "game-stuff".  It is not presently required, and
      only serves to obscure what's really going on.
      85b779f6
  4. 06 Mar, 2013 3 commits
  5. 27 Jan, 2013 9 commits
  6. 26 Jan, 2013 1 commit
    • Alastair Bridgewater's avatar
      geometry/transformation-composition: Some utility functions (CLIM II 5.3.2). · a3e25ebb
      Alastair Bridgewater authored
        * This is six functions from CLIM II 5.3.2.  Two conditioned-out
      implementations for functions we can't support yet, two partial
      implementations for functions we can only mostly support at this
      time, and two full implementations for functions that we can fully
      support.
      
        * Docstrings, commentary on what's missing in order to complete
      various aspects of the specification, and so on, included.
      a3e25ebb
  7. 23 Jan, 2013 5 commits
  8. 22 Jan, 2013 1 commit
  9. 18 Jan, 2013 5 commits
  10. 30 Dec, 2012 3 commits