candycode / loco Goto Github PK
View Code? Open in Web Editor NEWJavaScript/C++ application framework
Home Page: https://candycode.github.io/loco
JavaScript/C++ application framework
Home Page: https://candycode.github.io/loco
works when evaluating lisp expressions from javascript, not when adding a filter and reading from file.
Add access to viewport update mode in GraphicsView
Add JavaScript API to create, load, transform(scale, rotate...) and save images.
Also allow the creation of QPixmaps which can be handled automatically and marshaled by the Qt run-time.
Some source files still have tabs instead of spaces: FIX!
Add class to store sequences of QObject pointers; this is especially useful when passing multiple objects to a child context.
Add loco wrapper for QGraphicsView, with an AddWidget method to add WrappedWidget, WidgetWrapper and Widget objects to the scene, also allow to select a QGLWidget as the viewport or make it the default(better).
This also means having a WrappedGraphicsWidget to add e.g. QGraphicsWebView.
Note that the main case for this feature is to create HUD GUIs which are most likely going to use QGraphicsWebView.
Also: A wrapper for QGraphicsScene is needed.
Review LocoFilter interface, specifically:
Currently dynamic objects can be loaded only if implemented as QtPlugins; do allow the option to load QObjects from regular dylibs by specifying:
When a new File object is created through e.g. loco::FileSystem::fopen() the current context is not passed to the File object and it is therefore not possible to access the FileAccess manager to restrict access to files.
In WrappedWidget, Widget and Widget wrapper Qt::WidgetAttribute passed to methods are left as int/enums. Do create a Qt::WidgetAttribute <--> QString map.
In the hud osgviewer example there is a border around the graphics view when in fullscreen mode.
All the js script should be moved under the locoplay app dir since they are intended to work within the locoplay app environment.
Use a custom version of QGLWidget which emits a signal after OpenGL context is initialized to allow for one-time initialization to be performed in external objects.
Add support for Leap Motion through a QObject wrapper; technically it is already possible to interact with the LeapMotion device from JavaScript through sockets, but would like to add a direct LeapMotion interface through the C++ api wrapped with a QObject-derived class.
Implement equivalent of WrappedWidget for QGraphicsWidget
Warning at exit time, not a bug(gdb reports normal exit). Happens on Ubuntu 11.10 64bit NVIDIA drivers 295.xx.
Only leave
dirs in main repository, move the other material in separate loco-scratch repository.
Also consider creating loco-apps and loco-modules repositories. Do we need a repository for scripts ?, probably only for generic javascript, since any other script depends not just on libloco but mainly on the application using it.
Implement QGraphicsWebView container object. It might be required to completely re-implement the WebWindow interface.
locoplay application segfaults if preload callback in LocoWebWindow is empty.
It happens on Linux Ubuntu 12.04 with WebKit r115711, May 1st 2012. Everything works fine with the default WebKit 2.2.1 inside Qt 4.8.1.
Add syncLoad method to GraphicsWebWindow, copy code from WebWindow and check if it makes sense to move code into separate file to avoid duplication.
Implement a JavaScript wrapper to allow for access to QGraphicsScenes created from C++ code.
Add the option to catch messages from within javascript by adding a QtMessageHandler that triggers a Context::qtMessage(type, message) signal at each message sent through qDebug, qWarning etc.
Add touch event support, this entails overloading the event() method
Add example showing how to use Google's Dart language
When a new File object is created through e.g. loco::FileSystem::fopen() the current context is not passed to the File object and it is therefore not possible to access the FileAccess manager to restrict access to files.
Have Widget, WidgetWrapper and WrappedWidget derive from a common IWidget ancestor which implements the currently duplicated interface through a virtual GetQWidget() accessor method as currently done in WidgetWrapper which derives from WrappedWidget and reimplements the Widget() method.
Ignore first line when starting with !#, this allows to create executable scripts in linux/mac/cygwin
Locoplay test4-process.js seems to not be working - fix!
When a local file path is passed to the webwindow.load method the path is not translated to a correct url.
The prefix web is used throughout the code and documentation to identify not just web but also html/page resources which have nothing to do with the web. Change where applicable the prefix web with page.
The current GraphicsSceneProxy inteface is pretty useless as it is because it still requires signal targets to have a dependency on QGraphicsScene events. It is easier to just implement a custom version of QGraphicsScene than use QGraphicsProxy.
Change signals to sent POD types only e.g. mouse coordinates as ints.
When rendering with osgChem with real-time raytracing the HUD GUI is not rendered correctly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.