| 1 |
|
|---|
| 2 | ((( |||_| ///\ [[[_ (((
|
|---|
| 3 | ))) || | \\/ [[_ )))
|
|---|
| 4 | a cross-platform applikit
|
|---|
| 5 |
|
|---|
| 6 | //////////////////////////////////////////////////////////////////////////
|
|---|
| 7 |
|
|---|
| 8 | Hi, guys, thankyou for taking Shoes.
|
|---|
| 9 |
|
|---|
| 10 | Shoes is for writing plain old windowing software. But it borrows a
|
|---|
| 11 | few things I like from the web:
|
|---|
| 12 |
|
|---|
| 13 | * Hyperlinks and URLs within Shoes and to the web.
|
|---|
| 14 | * Simple text layout -- though Shoes eschews floats.
|
|---|
| 15 | * Images and colors in the layout and in the background.
|
|---|
| 16 | * Margin and padding.
|
|---|
| 17 | * Resizable layouts.
|
|---|
| 18 |
|
|---|
| 19 | However, layouts can be tough on the web. Like a two-column layout.
|
|---|
| 20 | So rather than using floating divs, Shoes uses two layout types:
|
|---|
| 21 | stacks and flows. More on that later.
|
|---|
| 22 |
|
|---|
| 23 | Shoes does keep a few things from traditional windowing toolkits:
|
|---|
| 24 |
|
|---|
| 25 | * Buttons.
|
|---|
| 26 | * Text edit (single-line and multi-line).
|
|---|
| 27 | * Progress bars.
|
|---|
| 28 | * Scroll bars.
|
|---|
| 29 | * Dialogs.
|
|---|
| 30 |
|
|---|
| 31 | And, last of all, Shoes gets some inspiration from NodeBox and
|
|---|
| 32 | Processing:
|
|---|
| 33 |
|
|---|
| 34 | * The whole window is a canvas.
|
|---|
| 35 | * Shapes, paths, curves and transformations.
|
|---|
| 36 | * Animation.
|
|---|
| 37 | * Easy event-handling for mouse and keyboard.
|
|---|
| 38 |
|
|---|
| 39 | Lastly, Shoes uses Ruby as its interface language.
|
|---|
| 40 |
|
|---|
| 41 | That's really about all that's in Shoes. It's supposed to be light.
|
|---|
| 42 | Not much code and not too much ambition.
|
|---|
| 43 |
|
|---|
| 44 | //////////////////////////////////////////////////////////////////////////
|
|---|
| 45 |
|
|---|
| 46 | WHY NOT WXWINDOWS? WHY NOT THE FOX TOOLKIT? OR QT??
|
|---|
| 47 |
|
|---|
| 48 | Shoes is strictly inspired by stuff like REBOL/View, HyperCard,
|
|---|
| 49 | the web itself and, of course, Processing and NodeBox.
|
|---|
| 50 |
|
|---|
| 51 | I don't like the bulkiness and the layers and layers of wxWindows,
|
|---|
| 52 | FOX, QT, GNOME. They are big, big libraries and all the apps look
|
|---|
| 53 | identical, devoid of spirit.
|
|---|
| 54 |
|
|---|
| 55 | The unique thing about the web is that it gives you very few
|
|---|
| 56 | controls, but people are able to build wildly different pages
|
|---|
| 57 | with it that are still immediately accessible to people.
|
|---|
| 58 |
|
|---|
| 59 | //////////////////////////////////////////////////////////////////////////
|
|---|
| 60 |
|
|---|
| 61 | THE INSIDE OF SHOES
|
|---|
| 62 |
|
|---|
| 63 | So, to save a bit of work, Shoes relies on a few libraries:
|
|---|
| 64 |
|
|---|
| 65 | * Cairo, for drawing. (http://cairographics.org)
|
|---|
| 66 | * Pango, for text.
|
|---|
| 67 | * Ruby, for programming.
|
|---|
| 68 |
|
|---|
| 69 | All native widgets use the OS APIs directly. Half of Shoes is platform
|
|---|
| 70 | specific code. The targets are: OSX, Windows and GTK.
|
|---|
| 71 |
|
|---|
| 72 | //////////////////////////////////////////////////////////////////////////
|
|---|
| 73 |
|
|---|
| 74 | BUILDING AND INSTALLING SHOES
|
|---|
| 75 |
|
|---|
| 76 | Since this project is in its infancy, be sure to get instructions from
|
|---|
| 77 | the wiki at http://code.whytheluckystiff.net/shoes/. Things are changing
|
|---|
| 78 | quickly and this README will be updated when the first release is made.
|
|---|
| 79 |
|
|---|
| 80 | //////////////////////////////////////////////////////////////////////////
|
|---|
| 81 |
|
|---|
| 82 | LICENSE
|
|---|
| 83 |
|
|---|
| 84 | Copyright (c) 2007 why the lucky stiff
|
|---|
| 85 |
|
|---|
| 86 | Permission is hereby granted, free of charge, to any person obtaining a copy
|
|---|
| 87 | of this software and associated documentation files (the "Software"), to
|
|---|
| 88 | deal in the Software without restriction, including without limitation the
|
|---|
| 89 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|---|
| 90 | sell copies of the Software, and to permit persons to whom the Software is
|
|---|
| 91 | furnished to do so, subject to the following conditions:
|
|---|
| 92 |
|
|---|
| 93 | The above copyright notice and this permission notice shall be included in
|
|---|
| 94 | all copies or substantial portions of the Software.
|
|---|
| 95 |
|
|---|
| 96 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|---|
| 97 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|---|
| 98 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|---|
| 99 | THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|---|
| 100 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|---|
| 101 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|---|