{"id":16147757,"url":"https://github.com/bakercp/ofxpointer","last_synced_at":"2025-10-07T19:33:10.249Z","repository":{"id":11207413,"uuid":"13592808","full_name":"bakercp/ofxPointer","owner":"bakercp","description":"A framework to unify openFrameworks pointer events into a single W3C-PointerEvent like interface.","archived":false,"fork":false,"pushed_at":"2024-05-17T05:15:47.000Z","size":5272,"stargazers_count":28,"open_issues_count":5,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-02T18:12:48.313Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bakercp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-10-15T14:46:30.000Z","updated_at":"2025-02-19T02:44:39.000Z","dependencies_parsed_at":"2024-10-27T18:26:37.755Z","dependency_job_id":"82f94a14-6946-4871-b181-b73dbe2c3459","html_url":"https://github.com/bakercp/ofxPointer","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/bakercp/ofxPointer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakercp%2FofxPointer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakercp%2FofxPointer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakercp%2FofxPointer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakercp%2FofxPointer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bakercp","download_url":"https://codeload.github.com/bakercp/ofxPointer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakercp%2FofxPointer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273372600,"owners_count":25093713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T00:27:18.406Z","updated_at":"2025-10-07T19:33:10.150Z","avatar_url":"https://github.com/bakercp.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ofxPointer\n\n## Description\n\nThis frameworks adapts the [W3C Pointer Event](http://www.w3.org/TR/pointerevents/) 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.\n\n## Features\n\nCurrently the openFrameworks pointer model separates touch and mouse events, making cross platform development a little tricky.\n\nSimply put, `ofxPointer` merges pointer, touch and pen input into a single extensible interface.\n\nA typical program will now look like this:\n\n\n### All Platforms\n\n```c++\n\n#pragma once\n\n\n#include \"ofMain.h\"\n#include \"ofxPointer.h\"\n\n\nclass ofApp: public ofBaseApp\n{\npublic:\n    void setup() override\n    {\n        // Register the pointer events.\n        ofx::RegisterPointerEvents(this);\n    }\n\n    void update() override\n    {\n        // Update\n    }\n\n\n    void draw() override\n    {\n        // Draw\n    }\n\n\n    void onPointerUp(ofx::PointerEventArgs\u0026 evt)\n    {\n        ofLogNotice(\"ofApp::onPointerUp\") \u003c\u003c evt;\n    }\n\n\n    void onPointerDown(ofx::PointerEventArgs\u0026 evt)\n    {\n        ofLogNotice(\"ofApp::onPointerDown\") \u003c\u003c evt;\n    }\n\n\n    void pointerMove(ofx::PointerEventArgs\u0026 evt)\n    {\n        ofLogNotice(\"ofApp::onPointerMove\") \u003c\u003c evt;\n    }\n\n\n    void onPointerCancel(ofx::PointerEventArgs\u0026 evt)\n    {\n        ofLogNotice(\"ofApp::onPointerCancel\") \u003c\u003c evt;\n    }\n\n};\n\n```\n\nOr even more simply, like this:\n\n```c++\n\n#pragma once\n\n\n#include \"ofMain.h\"\n#include \"ofxPointer.h\"\n\n\nclass ofApp: public ofBaseApp\n{\npublic:\n    void setup() override\n    {\n        // Register the pointer events.\n        ofx::RegisterPointerEvent(this);\n    }\n\n    void update() override\n    {\n        // Update\n    }\n\n\n    void draw() override\n    {\n        // Draw\n    }\n\n    // All pointer events are returned to a single callback.\n    void onPointerEvent(ofx::PointerEventArgs\u0026 evt)\n    {\n        ofLogNotice(\"ofApp::onPointerEvent\") \u003c\u003c evt;\n    }\n};\n\n```\n\n### iOS\n\niOS 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.\n\n![Screenshot](https://github.com/bakercp/ofxPointer/raw/master/docs/ios_screenshot.png)\n\n## Getting Started\n\nTo get started, generate the example project files using the openFrameworks [Project Generator](http://openframeworks.cc/learning/01_basics/how_to_add_addon_to_project/).\n\n## Documentation\n\nAPI documentation can be found here.\n\n## Build Status\n\nLinux, macOS [![Build Status](https://travis-ci.org/bakercp/ofxPointer.svg?branch=master)](https://travis-ci.org/bakercp/ofxPointer)\n\nVisual Studio, MSYS [![Build status](https://ci.appveyor.com/api/projects/status/p2v0cy2yy8gli402/branch/master?svg=true)](https://ci.appveyor.com/project/bakercp/ofxpointer/branch/master)\n\n\n## Compatibility\n\nThe `stable` branch of this repository is meant to be compatible with the openFrameworks [stable branch](https://github.com/openframeworks/openFrameworks/tree/stable), which corresponds to the latest official openFrameworks release.\n\nThe `master` branch of this repository is meant to be compatible with the openFrameworks [master branch](https://github.com/openframeworks/openFrameworks/tree/master).\n\nSome past openFrameworks releases are supported via tagged versions, but only `stable` and `master` branches are actively supported.\n\n## Versioning\n\nThis project uses Semantic Versioning, although strict adherence will only come into effect at version 1.0.0.\n\n## Licensing\n\nSee `LICENSE.md`.\n\n## Contributing\n\nPull Requests are always welcome, so if you make any improvements please feel free to float them back upstream :)\n\n1. Fork this repository.\n2. Create your feature branch (`git checkout -b my-new-feature`).\n3. Commit your changes (`git commit -am 'Add some feature'`).\n4. Push to the branch (`git push origin my-new-feature`).\n5. Create new Pull Request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakercp%2Fofxpointer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbakercp%2Fofxpointer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakercp%2Fofxpointer/lists"}