← Back

ofxPointer

github.com/bakercp/ofxPointer · @bakercp
OF 0.12 Hardware Interface

A framework to unify openFrameworks pointer events into a single W3C-PointerEvent like interface.

28 4 Last commit 2y ago Created 13y ago

Forks

Forks pushed to more recently than bakercp/ofxPointer itself, plus any admin-confirmed fork with commits of its own — worth checking if you're hitting issues with the original.

interior-night/ofxPointer by @interior-night · ★ 0 · pushed 2mo ago

Branches ahead of master

These branches have commits not yet on master — could be unmerged fixes or work in progress worth a look.

develop 4 commits ahead · last commit 6y ago
gh-pages 7 commits ahead · last commit 11y ago

README

ofxPointer



Description



This frameworks adapts the W3C Pointer Event specification to work with openFrameworks. A compatibility layer for iOS / UITouch includes support for high-frequency coalesced events, predicted events, event property updates, tilt, pressure and other advanced properties.

Features



Currently the openFrameworks pointer model separates touch and mouse events, making cross platform development a little tricky.

Simply put, ofxPointer merges pointer, touch and pen input into a single extensible interface.

A typical program will now look like this:

All Platforms



``c++

pragma once



include "ofMain.h"

include "ofxPointer.h"



class ofApp: public ofBaseApp { public: void setup() override { // Register the pointer events. ofx::RegisterPointerEvents(this); }

void update() override { // Update }

void draw() override { // Draw }

void onPointerUp(ofx::PointerEventArgs& evt) { ofLogNotice("ofApp::onPointerUp") << evt; }

void onPointerDown(ofx::PointerEventArgs& evt) { ofLogNotice("ofApp::onPointerDown") << evt; }

void pointerMove(ofx::PointerEventArgs& evt) { ofLogNotice("ofApp::onPointerMove") << evt; }

void onPointerCancel(ofx::PointerEventArgs& evt) { ofLogNotice("ofApp::onPointerCancel") << evt; }

};


Or even more simply, like this:
c++

pragma once



include "ofMain.h"

include "ofxPointer.h"



class ofApp: public ofBaseApp { public: void setup() override { // Register the pointer events. ofx::RegisterPointerEvent(this); }

void update() override { // Update }

void draw() override { // Draw }

// All pointer events are returned to a single callback. void onPointerEvent(ofx::PointerEventArgs& evt) { ofLogNotice("ofApp::onPointerEvent") << evt; } };

`

iOS



iOS Currently supports all advanced
UITouch features including tiltX/Y, elevation, azimuth, precise location, pressure, predicted and coalesced events, estimated properties and estimated property updates. See the iOS examples for more.

Screenshot

Getting Started



To get started, generate the example project files using the openFrameworks Project Generator.

Documentation



API documentation can be found here.

Build Status



Linux, macOS Build Status

Visual Studio, MSYS Build status

Compatibility



The
stable branch of this repository is meant to be compatible with the openFrameworks stable branch, which corresponds to the latest official openFrameworks release.

The
master branch of this repository is meant to be compatible with the openFrameworks master branch.

Some past openFrameworks releases are supported via tagged versions, but only
stable and master branches are actively supported.

Versioning



This project uses Semantic Versioning, although strict adherence will only come into effect at version 1.0.0.

Licensing



See
LICENSE.md.

Contributing



Pull Requests are always welcome, so if you make any improvements please feel free to float them back upstream :)

1. Fork this repository. 2. Create your feature branch (
git checkout -b my-new-feature). 3. Commit your changes (git commit -am 'Add some feature'). 4. Push to the branch (git push origin my-new-feature`). 5. Create new Pull Request.

Get this addon

HTTPS
SSH