Skip to content
Portable framebuffer library and related projects
Branch: master
Clone or download
mfiess imageA resource width and height properties (#1844)
* imageA resource width and height properties

* adding tests
Latest commit a55aec1 May 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Move to use sparkui.org (#1713) Feb 26, 2019
ci node 8.15.1 and grpc-js [PoC] (#1735) May 16, 2019
cmake node 8.15.1 and grpc-js [PoC] (#1735) May 16, 2019
docs Moved from google code repo to github. Dec 15, 2014
examples imageA resource width and height properties (#1844) May 22, 2019
pxCore.vc2005.win.x86 Freetype 2.8.1 upgrade (#1237) Sep 7, 2018
pxCore.vc2005.winmobile.arm4 Moved from google code repo to github. Dec 15, 2014
pxCore.xcodeproj node 8.15.1 and grpc-js [PoC] (#1735) May 16, 2019
src node 8.15.1 and grpc-js [PoC] (#1735) May 16, 2019
tests/pxScene2d imageA resource width and height properties (#1844) May 22, 2019
.editorconfig Add an editorconfig for code style (#743) Dec 19, 2017
.gitignore
.gitmodules Merged between master and pxBenchmark (#1451) Sep 12, 2018
.travis.yml Update gcc version (#1425) Sep 6, 2018
CHANGELOG.txt Update CHANGELOG.txt Jan 20, 2015
CMakeLists.txt node 8.15.1 and grpc-js [PoC] (#1735) May 16, 2019
LICENSE.txt Changed to an Apache 2.0 license Mar 1, 2017
Makefile.glut another turn of the crank for osx Mar 2, 2015
Makefile.x11 another turn of the crank for osx Mar 2, 2015
NewUser.txt Continuous integration support for pxscene - Phase 1 Feb 9, 2017
README.md Edited README.md (#1295) Jul 3, 2018
appcast.xml
appveyor.yml Cached external libs, for reducing the appveyor build time. (#1108) Jun 22, 2018
azure-pipelines.yml CI flow update (Azure DevOps, semaphoreci, wayland-rdp) (#1501) Oct 5, 2018
codecov.yml Ignore rapidjson for code coverage Jan 8, 2018
pxscene-build.pem.enc reinstate correct pem file Aug 3, 2018

README.md

pxCore

pxCore is a small open source library that provides a portable framebuffer and windowing abstraction for C++. This library is intended to hide the complexity of writing rasterization code on multiple platforms and allows you to easily write the following sorts of things in a portable way:

  • 2d and 3d rasterizers
  • Transition Libraries
  • Filter Routines
  • Image Processing

In its design, a few principles were followed:

  • Be Small – A simple windowed application can be built (on Windows) in as little as 8k.
  • Be Simple – The framebuffer abstraction supports 32bpp framebuffers and is intended to be minimal yet complete.
  • Don’t tightly couple the framebuffer and windowing functionality. Some other framebuffer libraries (eg. PixelToaster) don’t separate out the framebuffer abstraction from the windowing abstraction. By loosely coupling the two abstractions, this library becomes much more valuable. The framebuffer functionality can be used and integrated with other windowing toolkits easily, making YOUR code more reusable.
  • Platform native surface construction
  • Policy free resizing support – No policy is baked into the window resizing support so that applications completely control their own resizing behavior.
  • Portable Keyboard, Mouse and Window events
  • Support for portable performance timers
  • Basic Animation Support - Support for a basic animation timer event (frames per second) is built into the windowing abstraction, making it easy to write applications that animate their contents.
  • pxCore has been ported to Windows, pocketpc (arm4), linux(x11), and OSX.

The most popular usage of pxCore is pxscene. pxscene is an application engine that exposes a scene graph API to a Javascript engine. It gives JavaScript applications access to the pxscene API for visual elements that can be used for composition. pxscene is written on top of pxCore.

pxscene:

  • supports rich animation and alpha masking primitives
  • exposes a DOM-like programming model
  • supports promises for asynchronous behaviors
  • uses W3C event bubbling semantics

pxscene source code is in pxCore/examples/pxScene2d. Instructions for building pxscene are here: Building pxscene Instructions for debugging pxscene JavaScript applications using VSCode are here: Debugging applications

You can’t perform that action at this time.