[Initial commit. In a right state. But it draws smoething. "Michael Bridgen "**20080103193947] [SdlEventSource; event loop; fixes to SWIG-generated code Tony Garnock-Jones **20080105193915] [Quit event handling Tony Garnock-Jones **20080105194551] [CairoContext, and related cleanups Tony Garnock-Jones **20080105195632] [Rectangles & filling Tony Garnock-Jones **20080106005822] [Demo blitter Tony Garnock-Jones **20080106005837] [Switch to using Rectangle asSdlRect Tony Garnock-Jones **20080106112443] [Add forceQuit method as temporary workaround Tony Garnock-Jones **20080106112506] [Make CLibrary less chatty Tony Garnock-Jones **20080106112642] [SdlForm, SdlDisplay, Display Tony Garnock-Jones **20080106115215] [Move imports to make it clear the cairo stuff relies a little on the SDL stuff Tony Garnock-Jones **20080106121003] [Note that finalization will eventually be required here Tony Garnock-Jones **20080106121020] [Split CairoContext into CairoSurface and CairoContext, for finalization purposes Tony Garnock-Jones **20080106121048] [Remove old SDL.st Tony Garnock-Jones **20080106121330] [Notes. Brain dumped notes. Michael Bridgen **20080107072424] [Speculative start to zorphology Michael Bridgen **20080107072518] [Tidy up geometry and Zorph, with the benefit of actually trying them. "Michael Bridgen "**20080107102404] [Note regarding cairo_*_group, which will help with painting things with alpha. "Michael Bridgen "**20080107102655] [Use the Smalltalk core point2d "Michael Bridgen "**20080107172239] [Add rest of transforms, and a distinct demo (which steals all the code from the old one at the minute)" "Michael Bridgen "**20080107200317] [Display >> #extent Tony Garnock-Jones **20080108013343] [Run the event loop (so we can click on the window close icon) Tony Garnock-Jones **20080108013358] [Scale by a silly amount :-) Tony Garnock-Jones **20080108013415] [Split out loadscript.st Tony Garnock-Jones **20080108075811] [Use 3.0 terminateOnQuit, and only install fixes if we're still running on 2.95h Tony Garnock-Jones **20080108080931] [Avoid changeClassTo: by being more specific in SDL_video.st's returning: cCall pragmas Tony Garnock-Jones **20080108082131] [Support image save/reload Tony Garnock-Jones **20080108181110] [Clean up dependents on finalization Tony Garnock-Jones **20080108181947] [Move the Display flip inside the modulo-block Tony Garnock-Jones **20080108182743] [FPS counter for zowie.st Tony Garnock-Jones **20080108182755] [class Color Tony Garnock-Jones **20080111211131] [setSource: from a Color Tony Garnock-Jones **20080111211138] [setSource with RGBA Tony Garnock-Jones **20080111211148] [Change arity of handleFocusLoss/handleFocusGain Tony Garnock-Jones **20080111211157] [Start of widgets and World. Tony Garnock-Jones **20080111211217] [Put some interpretation on button numbers. Tony Garnock-Jones **20080111212033] [Elaborate on the test methods Tony Garnock-Jones **20080111212044] [Cairo patterns (lightly tested) and text (untested) Tony Garnock-Jones **20080111224437] [Curves (lightly tested), arcs (untested) Tony Garnock-Jones **20080111231406] [Make the cairo_t go through a save/restore when rendering children Tony Garnock-Jones **20080111231426] [Hierarchy for FilledBorderedWidgets Tony Garnock-Jones **20080111231440] [boundsChanged protocol Tony Garnock-Jones **20080112000113] [Move rounded-rectangle code to CairoContext Tony Garnock-Jones **20080112000252] [Add transformPoint, transformDistance, transformBounds, and inverse to Transformation classes. "Michael Bridgen "**20080111235730] [Top-left and bottom-right were in the wrong order Tony Garnock-Jones **20080112000605] [GST 2.95h is obsolete now that 3.0 has been released. Tony Garnock-Jones **20080112001433] [Syntax corrections. Tony Garnock-Jones **20080112005249] [IdentityTransform Tony Garnock-Jones **20080112005302] [Move geometry.st into loadscript.st Tony Garnock-Jones **20080112005326] [Er, it's radians, not a point Tony Garnock-Jones **20080112005530] [Clipping and point/distance transforms. Sorted matrix operations. "Michael Bridgen "**20080112012647] [Green, blue preconfigured colors Tony Garnock-Jones **20080112020813] [cairo_matrix_invert Tony Garnock-Jones **20080112020931] [Fix minor errors Tony Garnock-Jones **20080112020944] [Switch from bounds to proper device/local nested transforms. Tony Garnock-Jones **20080112020957] [Fix the names of the various transforms. Tony Garnock-Jones **20080112024647] [Keyboard events Tony Garnock-Jones **20080112032004] [Switch to a general Transform>>#about "Michael Bridgen "**20080112023517] [The start of a zorph object model. "Michael Bridgen "**20080112023544 Creates the basic classes which mediate the rendering protocols and so on, and demos them (incompletely) in zowie.st. ] [Merge visuals' bounds correctly, and don't try to invert a nil transform, when calculating bounds. "Michael Bridgen "**20080112025403] [Cyan, magenta, yellow Tony Garnock-Jones **20080112040720] [CairoContext moveRel, lineRel Tony Garnock-Jones **20080112040728] [Fix extent and moved confusion Tony Garnock-Jones **20080112040751] [Old-style syntax doesn't have [] around methods! Tony Garnock-Jones **20080112040812] [LabelWidget Tony Garnock-Jones **20080112040825] [Propagate unicode characters. Tony Garnock-Jones **20080112041414] [Use the non-destructive translation of rectangles, since we frequently use this in transforms. "Michael Bridgen "**20080112052335] [clip and paint (fill to clip) Cairo functions "Michael Bridgen "**20080112052427] [Fix up a lot of the damage protocol, with help from Tony "Michael Bridgen "**20080112052626] [A more functional zowie demo: draws rects around damaged bits, for example. "Michael Bridgen "**20080112052722] [Fix a couple of errors that upset damage notification "Michael Bridgen "**20080112055204] [Add gestures, rather crudely for now. "Michael Bridgen "**20080112070530] [Various TODO comments. Tony Garnock-Jones **20080113141504] [Share the implementation of GestureRecogniser. Tony Garnock-Jones **20080115074031] [MacPorts DLD additions. Tony Garnock-Jones **20080115074153] [Detect drag start. Tony Garnock-Jones **20080115083016] [Quit zowie.st on 'q' keystroke. Tony Garnock-Jones **20080115083111] [Quit, rather than snapshot-and-quit. Tony Garnock-Jones **20080115083125] [Switch fonts to something that *has* an italic Tony Garnock-Jones **20080115163810] [RoundedRectangleWidget subclass: DemoWidget Tony Garnock-Jones **20080115232818] [updateRectangle in Display, for avoiding full flips "Michael Bridgen "**20080117183034] [More waffle in the notes "Michael Bridgen "**20080117184506] [Remove some Transcript chatter "Michael Bridgen "**20080117184538] [Maintain a damage list, and render in a thread. "Michael Bridgen "**20080117184649 This decouples the rendering from the notification of damage, meaning we can try to control the framerate, and have the opportunity to do less work when something reports damage. We also get the chance to coalesce damage, so there's less drawing. ] [Remove visual damage rects "Michael Bridgen "**20080117185033] [Transcript output for debugging dragStarted, too Tony Garnock-Jones **20080118150023] [Use updateRectangles instead of updateRectangle or flip. Michael Bridgen **20080118191144 sdlUpdateRectangle seems to break when the rectangle is aligned with the right-hand side. According to SDL docs (for MacOSX), updateRectangles may be the most efficient way to tell the windowing system what needs updating. ] [Factor out rect->SdlRect assignment Michael Bridgen **20080118201831] [Give lenses a glass layer for sticky widgets "Michael Bridgen "**20080118202213] [Add another lens to the demo "Michael Bridgen "**20080118202308] [Color >> brighter:. Tony Garnock-Jones **20080119101723] [Skinnable widgets Tony Garnock-Jones **20080119101733] [Make matrix operations non-modifying. Tony Garnock-Jones **20080119140643] [No longer inspect the display on startup. Tony Garnock-Jones **20080119142529] [cairo_text_path. Tony Garnock-Jones **20080119142544] [Multiple Hands; modal Hands Tony Garnock-Jones **20080119142944] [Split out PositionableWidget. Add Widget properties. Drag-and-drop. Tony Garnock-Jones **20080119143159] [Box, RootWidget overlay, cleanups Tony Garnock-Jones **20080119152713] [Correct nested transforms. Tony Garnock-Jones **20080119154005] [Correct cyan! Tony Garnock-Jones **20080119154242] [New widget Tony Garnock-Jones **20080119154410] [Movable text Tony Garnock-Jones **20080119154415] [Surface locking/unlocking Tony Garnock-Jones **20080119161024] [Flip to 480@640. Tony Garnock-Jones **20080119161104] [Experimentation with Display>>critical:. Tony Garnock-Jones **20080119161127] [Oops, typo in zowie.st Tony Garnock-Jones **20080119161307] [Add #shift whenever we add #lshift/#rshift. Same for #ctrl, #alt, #meta. Tony Garnock-Jones **20080119164321] [Fix hit testing to clip to container's bounds first. Tony Garnock-Jones **20080120130353] [Make the root window default to clearing itself to black. Tony Garnock-Jones **20080120130413] [Time each repaint. Tony Garnock-Jones **20080120130821] [Give the root window a different painter. Tony Garnock-Jones **20080120130830] [Remind myself about hysteresis Tony Garnock-Jones **20080120170513] [Compensate for borderWidth in bordered painters Tony Garnock-Jones **20080120171447] [Mock display etc. for testing how slow non-rendering tasks are. Tony Garnock-Jones **20080120171636] [Use plain old RectanglePainter for the root widget Tony Garnock-Jones **20080120171735] [Invalidate rectangles, not the whole world; clear dc->user cache transform Tony Garnock-Jones **20080120171755] [Shut down video subsystem when quitting. Tony Garnock-Jones **20080120173358] [Handle Ctl-q in root widget Tony Garnock-Jones **20080120173408] [Add widget explaining the Ctl-q Tony Garnock-Jones **20080120173422] [Support PNG surfaces and surface patterns Tony Garnock-Jones **20080120180313] [Try out PNG surfaces Tony Garnock-Jones **20080120180344] [Catch exceptions during event dispatch. Tony Garnock-Jones **20080120195125] [Add handlers. Tony Garnock-Jones **20080120195143] [Menu; halo; delegate scrolling Tony Garnock-Jones **20080120195211] [Use paint on RootWidget instead of a path + fill Tony Garnock-Jones **20080120195233] [Spin the box Tony Garnock-Jones **20080120195248] [Text labels, in the simplest way. Michael Bridgen **20080119205821 A noddy implementation of labels; they update their bounds when painted. ] [Absolute transformations (and tidy a bit) Michael Bridgen **20080120234339 This patch adds accessors e.g., #translation, that give a component of the transformation. I'm not certain how useful these will be, since in general matrices can decompose more than one way (for example, a rotation is a shear and a scale). Using those, we also provide a set of "absolute" transformations #To. For example #translateTo: moves the origin exactly to the point supplied. ] [Make zorphs and cameras directly transformable with #translateBy etc. Michael Bridgen **20080120235052] [Give lenses a lovely frame, and make them opaque (for now) Michael Bridgen **20080120235244] [Add scaled font operations to cairo bindings. (some reformatting -- ops) Michael Bridgen **20080120235346] [Implement the "minimap" by using a doubly-transformed camera "Michael Bridgen "**20080121174124] [Turn off double-buffering, for now, since all this is provisional anyway Tony Garnock-Jones **20080125153001] [Fix demo.st. Tony Garnock-Jones **20080125153051] [Update to GST's built-in form of the SDL and Cairo libraries. Tony Garnock-Jones **20080701090621] [Simple paragraph composition. tonyg@lshift.net**20081206092221] [Break lines on word boundaries tonyg@lshift.net**20081206095143] [Improve testing/demo display. tonyg@lshift.net**20081206095202] [Tweak fonts, colours tonyg@lshift.net**20081206132747] [Make the gradient on the root widget scale to the display extent. tonyg@lshift.net**20081207140834] [Set the display extent to my eee's screen dimensions. tonyg@lshift.net**20081207140849] [Toggle fullscreen with C-f. tonyg@lshift.net**20081207141714] [Make translation between spans the responsibility of the spanline tonyg@lshift.net**20081212162812] [Move responsibility for height translation to spanline renderer. tonyg@lshift.net**20081212163807] [More convenient convenience transformations "Michael Bridgen "**20080125193343] [It was a dark and stormy night... Tony Garnock-Jones **20081214183910] [Start scaffolding required for editable text widget. Factor out BinarySearch for reuse. Tony Garnock-Jones **20081214184851] [Extract class ParagraphComposition Tony Garnock-Jones **20081214190848] [Correct boundary condition for line breaking. Tony Garnock-Jones **20081220200537] [Compute position within paragraph under point. Tony Garnock-Jones **20081220213945] [Count fenceposts, not fencespans Tony Garnock-Jones **20081220214716] [Update subclassResponsibilities of Span Tony Garnock-Jones **20081221022818] [Add a second paragraph for testing. Tony Garnock-Jones **20081221032022] [Be one-based for positions, rather than zero-based Tony Garnock-Jones **20081221032029] [TAG moved_buttondemo_to_github_gst_cairo_widgets Tony Garnock-Jones **20090525150102]