source: [view]
dojo.provide("dojox.image.Magnifier");
dojo.require("dojox.gfx");
dojo.require("dojox.image.MagnifierLite");
dojo.declare("dojox.image.Magnifier",
dojox.image.MagnifierLite,{
// summary:
// Adds magnification on a portion of an image element, using `dojox.gfx`
//
// description:
// An unobtrusive way to add an unstyled overlay
// above the srcNode image element. The overlay/glass is a
// scaled version of the src image (so larger images sized down
// are clearer).
//
// over-ride the _createGlass method to create your custom surface,
// being sure to create an img node on that surface.
_createGlass: function(){
// summary: create the glassNode, and an img on a dojox.gfx surface
// images are hard to make into workable templates, so just add outer overlay
// and skip using dijit._Templated
this.glassNode = dojo.create('div', {
style:{
height: this.glassSize + "px",
width: this.glassSize + "px"
},
"className":"glassNode"
}, dojo.body());
this.surfaceNode = dojo.create('div', null, this.glassNode);
this.surface = dojox.gfx.createSurface(this.surfaceNode, this.glassSize, this.glassSize);
this.img = this.surface.createImage({
src: this.domNode.src,
width: this._zoomSize.w,
height: this._zoomSize.h
});