Projects / Click'n'Drag


Click'n'Drag is a Python module that introduces the "Plane" class, which extends PyGame's "Surface" functionality, offering a hierarchy of mouse-sensitive, draggable Surfaces that can be used as sprites, windows, icons, or other interactive elements. In addition, the clickndrag.gui module uses clickndrag to provide basic GUI elements like container, label, text box, option list, and button.

Operating Systems

Recent releases

  •  05 Mar 2013 14:00

    Release Notes: planes now logs runtime statistics and displays them when F12 is pressed. There is a font manager now, and a selection of free fonts. There is a new widget, planes.gui.ProgressBar. All gfx and font resources are now bundled in a "" file which is distributed along with planes. This release adds mouse wheel support for the Plane class and the PlusMinusBox widget specifically, optimizes Plane.render() a little to check whether subplanes actually intersect with Display.rect, and adds bugfixes and enhancements in Plane.render(), gui.Container.sub(), and "".

    •  29 Jul 2011 18:24

      Release Notes: gui.OptionList can now be embedded in more complex dialogs, with gui.OptionSelector as a drop-in replacement. gui.Container now shrinks horizontally when a subplane is removed. An 'insert_after' argument has been added to Plane.sub() to render related subplanes without others in between. Plane.sync() uses the offset between Plane centers now, avoiding alignment problems with dynamic Planes. gui.OutlinedText now saves and restores the center upon a text change. The default background color settings have been fixed. Wrapping at newlines has been added to gui.OkBox. There are several fixes for Python 2.6 distutils. The documentation has been updated.

      •  28 Mar 2011 13:19

        Release Notes: Numerous changes were done to make clickndrag compatible with Python 2.x. It was tested with Python 2.6.5 and Python 3.1.2, using Pygame 1.9.1.

        •  23 Mar 2011 16:13

          Release Notes: Improved cx_Freeze compatibility. TextBoxes now display a cursor. Planes now have callbacks for left and right mouse button. The position of a Plane can now be synced to another Plane. The class OutlinedText, which implements a label with a transparent background and outlined bold text, has been added. The Display class now accepts a "fullscreen" argument. There are documentation updates.

          •  11 Mar 2011 11:40

            Release Notes: Proper GPL licensing notice was added. Performance improvements were made. Planes now use per-pixel alpha only when neccessary, and video RAM is used if available. Clickndrag now includes Bitstream Vera as the default font. gui.TextBox and gui.GetStringDialog can now be confirmed using the RETURN key. Showcase was added. The documentation was updated.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.