Comments (9)
StayerX, would you like to start this one?
This might be a helpful start: Using Clutter and Champlain to display map.
from curie.
Then we can look at adding new navigation using buttons on the canvas itself to solve #61. I'm trying to find an example of a UI that does that.
from curie.
@StayerX, another direction that might be helpful would be to write a small script that renders a Cairo::ImageSurface to a Clutter::Stage. Then the ideas from the script can be brought into the rest of the code.
from curie.
@StayerX, I found this script which shows how to load an image into Clutter
. It uses Imager
to read in the data, but we don't need that part. All we need is a Cairo::ImageSurface
. I thought it looked neat, so I wanted to share.
from curie.
More Clutter code : 2eb3854
It is part of #75.
from curie.
- Start with PageDrawingArea Glade file
- Instead of GtkDrawingArea, we need GtkClutterEmbed
- Draw the first page as a Cairo::ImageSurface
from curie.
Very soon Gtk+ will have a built-in scene graph library which we can use. Search for GSK on the roadmap and the post here.
Just some notes:
- Inkscape uses a canvas that was forked off of GnomeCanvas, but since that is only Gtk2, we can not use it.
- Julia's Immerse.jl has a canvas, but it is just a GtkDrawingArea
- We need to support interactive things on the canvas such as text entry and rubber band selection.
- GooCanvas doesn't have active development.
- PiTiVi went from using GooCanvas to Clutter for its timeline then later dropped Clutter for a plain GTK+ timeline.
- Glob uses GooCanvas.
- The Clutter documentation needs a lot of work.
from curie.
Note: Clutter is in maintenance mode and will not be updated with new features.
from curie.
from curie.
Related Issues (20)
- Outline should handle URIs
- Make sure application uses the right system language
- Document::Role::Pageable should have a check for valid pages
- Handle exceptions in the Glib main loop
- Create a CONTRIBUTING.md
- Investigate if curie can work with ConEmu HOT 1
- Windows build HOT 11
- Function::Parameters 2.000002 uses strict keyword configurations
- Add opened documents to Gtk3::RecentManager
- Change shebang of curie script
- Zooming causes two calls to the draw callback (resulting in unwanted page translation) HOT 1
- Investigate ribbon interface
- Add drag-and-drop for file: URIs from text/plain data
- Move behavioural components of PageDrawingArea into roles
- Use method modifiers for setup of PageDrawingArea behavioural roles
- Prevent negative zoom level when decrementing (zooming out)
- Switch from using lsub to MooX::ShortHas
- Make sure two-finger scroll works horizontally and vertically at the same time (panning)
- Add tests for mouse interaction added in #293
- Update view menu based on view state
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from curie.