Coder Social home page Coder Social logo

framer-pep's Introduction

A simple adapter to jquery's PEP for FramerJS. A PointerEvent Polyfill makes it possible to use the W3C's PointerEvent specification today. PointerEvents let you handle mouse, touch, and pen input through a single set of event handlers.

Example Usage

Tested in Framer Studio and framer-cli.

  1. Run npm install framer-pep in your prototype's directory (usually MyPrototype.framer/)
  2. Add a reference framer-pep by adding pep = require("framer-pep"). Where you do this dependson whether you're using Framer Studio or framer-cli

Framer Studio

If you're using Framer Studio, you need to create an npm.coffee file in your modules folder, per these instructions.

MyPrototype.framer/modules/npm.coffee

# npm.coffee is a simple module wrapper
exports.pep = require("framer-pep")
# You could require more npm modules that you have installed on additional lines. For example, assuming you have backbone installed:
#exports.backbone = require("backbone")

MyPrototype.framer/app.coffee

npm = require("npm") # reference to your npm wrapper module
pep = npm.pep # now you have direct access to the framer-pep npm module

framer-cli

index.coffee (or index.js)

pep = require("framer-pep")

Features

framer-pep exposes two properties, pep.PointerEvents and pep.PointerEventLayer

Here's how I like to use it:

pep = require("framer-pep")

# Replace the standard Framer objects with PEP objects
window.Events = _.extend(Events, pep.PointerEvents)
window.Layer = pep.PointerEventLayer

TestLayer = new Layer
TestLayer.center()

TestLayer.on Events.PointerDown, (e) ->
    # Will print on mouse, touch, and pen
    print "Hello from pointerdown!"

Known Issues

Dragging and ScrollComponents don't work because they're hard-coded to use touch events. You can get dragging to work (hackily) like so:

window.Events.TouchStart = Events.PointerDown
window.Events.TouchMove = Events.PointerMove
window.Events.TouchEnd = Events.PointerUp

Building

Just use npm run build. That will generate the compiled index.js from index.coffee.

framer-pep's People

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.