🚀 DAY 4 OF LAUNCH WEEK: Introducing GitHub Actions Scanning Support.Learn more →
Socket
Book a DemoInstallSign in
Socket

@adamjarling/openseadragon-fabricjs-overlay

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@adamjarling/openseadragon-fabricjs-overlay

An OpenSeadragon plugin that adds fabricjs canvas overlay capability.

latest
Source
npmnpm
Version
0.3.2
Version published
Maintainers
1
Created
Source

@adamjarling/OpenSeadragonFabricjsOverlay

This package is a forked version of https://github.com/altert/OpenseadragonFabricjsOverlay

Please visit the original repository for details.

Differences in forked version

This forked version does a few things differently.

  • Syncs Fabric JS object zoom levels to OpenSeadragon's image zoom level, instead of the viewport zoom level. Basically this better supports browser resizing, both horizontally and vertically.
  • This package provides JS module exports for initFabricJSOverlay and fabric, so you can @import into your compiled JS app.

Usage

npm install @adamjarling/openseadragon-fabricjs-overlay

To import the fabric module into your JavaScript app:

import { fabric } from '@adamjarling/openseadragon-fabricjs-overlay';
...

// Create a FabricJS object
const newShape = new fabric.Rect({
    ...shapeOptions,
    ...fillProps,
    width: pointer.x - origX,
    height: pointer.y - origY,
});

For example if you're syncing OpenSeadragon and FabricJS in a React app for example, you could do something like this:

import React from 'react';
import { useOpenSeadragon, OpenSeadragon } from 'use-open-seadragon';
import {
  fabric,
  initFabricJSOverlay,
} from '@adamjarling/openseadragon-fabricjs-overlay';

...

export default function MyFabricViewer() {
    // Customize Fabric selection handles
    fabric.Object.prototype.set({
        borderColor: '#22a2f8',
        borderScaleFactor: 2, // selection stroke width
        cornerColor: 'white',
        cornerSize: 10,
        transparentCorners: false,
    });

    // Add Fabric support to OSD
    initFabricJSOverlay(OpenSeadragon, fabric);

    // Initialize our OpenSeadragon instance
    const [ref, { viewer }] = useOpenSeadragon(tile, osdOptions);

    React.useEffect(() => {
        if (!viewer) return;
        viewer.fabricjsOverlay({ scale: 1 })
    }, [viewer]);

    return (
        <div ref={ref} />
    );
}

For more info, check out how this project uses the module:

https://github.com/adamjarling/loc-speculative-annotations

Keywords

openseadragon

FAQs

Package last updated on 06 Jun 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts