PaperScape Quick Reference
Interactive HTML5 canvas-based visualization and drawing tool
Key Features
- HTML5 canvas drawing and rendering
- Interactive visual elements
- Custom visualization creation
- Event-driven interaction model
- Editable canvas objects
- Modal form integration for editing
- Real-time rendering
Server-Side Usage:
// Get the PaperScape API
var PaperScape = js.getObject("/OpenForum/AddOn/PaperScape","PaperScape.sjs");
// Save canvas data
PaperScape.saveCanvas("/MyPage", "canvas.json", canvasData);
// Load canvas data
var canvas = PaperScape.loadCanvas("/MyPage", "canvas.json");
// Export canvas as image
PaperScape.exportImage("/MyPage", "canvas.json", "output.png");
Client-Side Usage:
// Initialize PaperScape canvas
var canvas = document.getElementById('paperScapeCanvas');
var context = canvas.getContext('2d');
// Save canvas state
JSON.post('/OpenForum/AddOn/PaperScape/Save', null,
'pageName=/MyPage&fileName=canvas.json&data=' JSON.stringify(canvasState))
.onSuccess(function(result) {
console.log('Canvas saved');
}).go();
// Load canvas state
JSON.get('/OpenForum/AddOn/PaperScape/Load', null,
'pageName=/MyPage&fileName=canvas.json')
.onSuccess(function(canvasData) {
// Render canvas from data
renderCanvas(canvasData);
}).go();
Canvas Data Format
{
"objects": [
{
"type": "rectangle",
"x": 100, "y": 100,
"width": 200, "height": 150,
"color": "#ff0000"
},
{
"type": "circle",
"x": 300, "y": 300,
"radius": 50,
"color": "#00ff00"
}
]
}
Configuration
- Canvas size and background color
- Interactive editing enabled/disabled
- Object types and properties
- Event handlers for canvas interactions