Skip to content

Commit

Permalink
Merge pull request #626 from mitchmindtree/graphics_widgets
Browse files Browse the repository at this point in the history
[Breaking Change] Replace elmesque crate with primitive graphics widgets (see comment for more details).
  • Loading branch information
mitchmindtree committed Dec 12, 2015
2 parents 6ff2dc8 + a1f38bf commit 2c96eb1
Show file tree
Hide file tree
Showing 55 changed files with 9,584 additions and 4,929 deletions.
10 changes: 3 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]

name = "conrod"
version = "0.23.0"
version = "0.24.0"
authors = [
"Mitchell Nordine <mitchell.nordine@gmail.com>",
"Sven Nilsen <bvssvni@gmail.com>"
Expand All @@ -22,16 +22,12 @@ path = "./src/lib.rs"


[dependencies]
bitflags = "0.3.2"
time = "0.1.34"
elmesque = "0.11.0"
json_io = "0.1.2"
daggy = "0.2.0"
daggy = "0.3.0"
pistoncore-input = "0.8.0"
piston2d-graphics = "0.12.0"
num = "0.1.27"
rand = "0.3.12"
rustc-serialize = "0.3.16"
time = "0.1.34"
vecmath = "0.2.0"

[dev-dependencies]
Expand Down
33 changes: 20 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ Features
- Powerful [layout and positioning](http://docs.piston.rs/conrod/conrod/trait.Positionable.html):
- Placement - `.middle()`, `.top_left_of(CANVAS)`, etc.
- Alignment - `.align_left()`, `.align_top_of(LABEL)`, etc.
- Relative - `.down(20.0)`, `.right_from(BUTTON, 40.0)`, `.relative_xy(20.0, 42.0)`, etc.
- Absolute - `.xy(6.0, 7.0)`
- Relative - `.down(20.0)`, `.right_from(BUTTON, 40.0)`, `.xy_relative(20.0, 42.0)`, etc.
- Absolute - `.x_y(6.0, 7.0)`
- Draggable pop-up / floating canvasses - `.floating(true)`.
- [WidgetMatrix](http://docs.piston.rs/conrod/conrod/struct.WidgetMatrix.html) and [PositionMatrix](http://docs.piston.rs/conrod/conrod/struct.PositionMatrix.html) for instantiating a grid of widgets.
- Serializable [`Theme`](http://docs.piston.rs/conrod/conrod/theme/struct.Theme.html)s for unique style and layout defaults.
Expand All @@ -53,22 +53,37 @@ Features
Available Widgets
-----------------

### Primitives

- Shapes:
- Circle
- Rectangle
- Oval
- Polygon
- FramedRectangle
- Line
- PointPath
- Text (automatic line-wrapping, line spacing, etc)

### Interactive

- [Button](http://docs.piston.rs/conrod/conrod/struct.Button.html)
- [Canvas](http://docs.piston.rs/conrod/conrod/struct.Canvas.html) (Can be positioned manually or by using the [Split](http://docs.piston.rs/conrod/conrod/struct.Split.html) or [Tabs](http://docs.piston.rs/conrod/conrod/struct.Tabs.html) wrappers for auto-layout)
- [DropDownList](http://docs.piston.rs/conrod/conrod/struct.DropDownList.html)
- [EnvelopeEditor](http://docs.piston.rs/conrod/conrod/struct.EnvelopeEditor.html)
- [Label](http://docs.piston.rs/conrod/conrod/struct.Label.html)
- WidgetMatrix
- [NumberDialer](http://docs.piston.rs/conrod/conrod/struct.NumberDialer.html)
- [Slider](http://docs.piston.rs/conrod/conrod/struct.Slider.html)
- [TextBox](http://docs.piston.rs/conrod/conrod/struct.TextBox.html)
- TitleBar
- [Toggle](http://docs.piston.rs/conrod/conrod/struct.Toggle.html)
- [XYPad](http://docs.piston.rs/conrod/conrod/struct.XYPad.html)
- Custom: Conrod also provides a [Widget trait](http://docs.piston.rs/conrod/conrod/trait.Widget.html) for designing and implementing custom widgets. You can find an annotated demonstration of designing a custom widget implementation [here](https://github.com/PistonDevelopers/conrod/blob/master/examples/custom_widget.rs). All [internal widgets](https://github.com/PistonDevelopers/conrod/blob/master/src/widget) also use this same trait so they should make for decent examples. If you feel like your widget is useful enough to be included within the internal widget library, feel free to add them in a pull request :)

**To-do:**
- [Menu Bar / Tool Bar](https://github.com/PistonDevelopers/conrod/issues/417)
- [Right-click Context Menu](https://github.com/PistonDevelopers/conrod/issues/394)
- [Text Area](https://github.com/PistonDevelopers/conrod/issues/62)
- [Multi-line Text Editor](https://github.com/PistonDevelopers/conrod/issues/62)
- [Graph / Chart](https://github.com/PistonDevelopers/conrod/issues/84)
- [File/Directory Navigator](https://github.com/PistonDevelopers/conrod/issues/381)
- [Advanced graph visualisation and control](https://github.com/PistonDevelopers/mush)
Expand Down Expand Up @@ -103,7 +118,7 @@ You can add it to your project by adding this to your Cargo.toml:

```toml
[dependencies]
conrod = "*"
conrod = "X.Y.Z"
```


Expand All @@ -113,14 +128,6 @@ Dependency Graph
![dependencies](./Cargo.png)


Conrod uses Elmesque
--------------------

Conrod uses [Elmesque](https://github.com/mitchmindtree/elmesque) under the hood for its 2D
graphics and layout. You don't need to know about Elmesque to use Conrod. But if you want to
combine Conrod with your own custom Elmesque drawing, see [the example](https://github.com/PistonDevelopers/conrod/blob/master/examples/elmesque.rs).


Contributing
------------

Expand Down
Loading

0 comments on commit 2c96eb1

Please sign in to comment.