diff --git a/entrypoints/chs.js b/entrypoints/chs.js index 19173a9f..d6bab39d 100644 --- a/entrypoints/chs.js +++ b/entrypoints/chs.js @@ -19,6 +19,7 @@ export { default as Text } from '../src/graphics/text.js'; export { default as Thing } from '../src/graphics/thing.js'; export { default as WebImage } from '../src/graphics/webimage.js'; export { default as WebVideo } from '../src/graphics/webvideo.js'; +export { default as ImageLibrary } from '../src/graphics/imagelibrary.js'; export * as Randomizer from '../src/randomizer.js'; export { default as AudioManager } from '../src/sound/'; export { default as Audio } from '../src/sound/audio.js'; diff --git a/entrypoints/windowBinder.js b/entrypoints/windowBinder.js index 1f447ea3..1317f3bd 100644 --- a/entrypoints/windowBinder.js +++ b/entrypoints/windowBinder.js @@ -19,6 +19,7 @@ import { default as Text } from '../src/graphics/text.js'; import { default as Thing } from '../src/graphics/thing.js'; import { default as WebImage } from '../src/graphics/webimage.js'; import { default as WebVideo } from '../src/graphics/webvideo.js'; +import { default as ImageLibrary } from '../src/graphics/imagelibrary.js'; import * as Randomizer from '../src/randomizer.js'; import { default as Audio } from '../src/sound/audio.js'; import { default as AudioManager } from '../src/sound/index.js'; @@ -32,6 +33,7 @@ window.Console = Console; window.Graphics = GraphicsManager; window.Grid = Grid; window.Group = Group; +window.ImageLibrary = ImageLibrary; window.Keyboard = Keyboard; window.Line = Line; window.Oval = Oval; diff --git a/package-lock.json b/package-lock.json index 058ac623..d0c6fac4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "chs-js-lib", - "version": "0.2.20", + "version": "0.2.21", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.2.20", + "version": "0.2.21", "license": "ISC", "dependencies": { "tone": "^14.7.77", diff --git a/package.json b/package.json index de062a36..9e60ad9b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "chs-js-lib", - "version": "0.2.20", + "version": "0.2.21", "description": "JavaScript graphics library used in CodeHS's platform.", "main": "dist/chs.cjs", "module": "dist/chs.mjs", diff --git a/site/examples/graphics/webimage/imagelibrary/imagelibrary.js b/site/examples/graphics/webimage/imagelibrary/imagelibrary.js new file mode 100644 index 00000000..1a9f03a5 --- /dev/null +++ b/site/examples/graphics/webimage/imagelibrary/imagelibrary.js @@ -0,0 +1,2 @@ +const soccerBall = new WebImage(ImageLibrary.Objects.soccerBall); +add(soccerBall); diff --git a/site/examples/graphics/webimage/imagelibrary/imagelibrary.md b/site/examples/graphics/webimage/imagelibrary/imagelibrary.md new file mode 100644 index 00000000..4934e96c --- /dev/null +++ b/site/examples/graphics/webimage/imagelibrary/imagelibrary.md @@ -0,0 +1,7 @@ +--- +title: WebImage - ImageLibrary +layout: example +code: imagelibrary.js +--- + +The library provides some images in the `ImageLibrary` which you can use to construct WebImages. diff --git a/site/examples/index.html b/site/examples/index.html index 02eb2be0..8028e784 100644 --- a/site/examples/index.html +++ b/site/examples/index.html @@ -187,6 +187,9 @@

WebImage

  • Sprite
  • +
  • + ImageLibrary +
  • diff --git a/test/dist/index.test.js b/test/dist/index.test.js index 49dbaab3..9b9da9bf 100644 --- a/test/dist/index.test.js +++ b/test/dist/index.test.js @@ -25,7 +25,9 @@ import { AudioManager, Audio, Sound, + ImageLibrary, } from '../../dist/chs.mjs'; +import ImportedImageLibrary from '../../src/graphics/imagelibrary.js'; describe('Distributed build', () => { it('Constructors', () => { @@ -96,5 +98,7 @@ describe('Distributed build', () => { let g = new Graphics(); g.fullReset(); }).not.toThrow(); + expect(ImageLibrary.Characters.penguin).not.toBeUndefined(); + expect(ImageLibrary.Characters.penguin).toEqual(ImportedImageLibrary.Characters.penguin); }); });