diff --git a/angular.json b/angular.json index 1d712cb133cc555d09ea12852e409ef7cb21fa2d..d40ad60b0872c5a71ae27418cb0cd3c0889c9d55 100644 --- a/angular.json +++ b/angular.json @@ -24,6 +24,11 @@ { "glob": "**/*", "input": "public" + }, + { + "glob": "**/*", + "input": "src/assets/", + "output": "/assets/" } ], "styles": [ diff --git a/src/app/imageLibrary.ts b/src/app/imageLibrary.ts new file mode 100644 index 0000000000000000000000000000000000000000..fd393392c2c4073cd1a9f33442f30eaf0bed3ae4 --- /dev/null +++ b/src/app/imageLibrary.ts @@ -0,0 +1,69 @@ +import { Injectable } from '@angular/core' +import { BehaviorSubject } from 'rxjs'; + +type imageItem = { + url: string ; + size: number; +}; + +@Injectable({ + providedIn: 'root' +}) + +export class ImageLibrary { + + private images: string[] = ["un.png", "geste.png", "pour.png", + "la.png", "pla.png", "ne.png", "te.png"]; + + getSize() { + return this.library.length; + } + + public getCurrentIndex(): number { + return this.currentIndexObserver.getValue(); + } + + public moveToNextImage(): number { + this.setCurrentIndex(this.currentIndexObserver.getValue() + 1); + return this.currentIndexObserver.getValue(); + } + + public moveToPrevImage(): number { + this.setCurrentIndex(this.currentIndexObserver.getValue() - 1); + return this.currentIndexObserver.getValue(); + } + + public getCurrentImageUrl(): string { + return this.library[this.currentIndexObserver.getValue()].url; + } + + public getCurrentImageScaleFactor(): number { + return this.library[this.currentIndexObserver.getValue()].size; + } + + public setCurrentIndex(cindex: number) { + if ((cindex < this.library.length) && (cindex >= 0)) { + this.currentIndexObserver.next(cindex); + } + } + + public setCurrentScaleFactor(factor: number) { + this.library[this.currentIndexObserver.getValue()].size = factor; + } + + public getUrls() : string[] { + return this.library.map( (x) => x.url ); + } + + public constructor() { + this.library = new Array<imageItem>(); + for (let i = 0; i < this.images.length; i++) + this.library.push({ url : "../assets/images/" + this.images[i], size : 300}); + + } + + library: Array<imageItem>; // bibliotheque d image + //private currentindex: number; // index de l image courante + private currentIndexObserver = new BehaviorSubject<number>(0); + public currentImageObserver = this.currentIndexObserver.asObservable(); +} diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/assets/images/geste.png b/src/assets/images/geste.png new file mode 100644 index 0000000000000000000000000000000000000000..5f9c4ecb9b837c0fe8ec4ba511c2f9a16ed106ca Binary files /dev/null and b/src/assets/images/geste.png differ diff --git a/src/assets/images/la.png b/src/assets/images/la.png new file mode 100644 index 0000000000000000000000000000000000000000..a235de6f9e70db0ff76b7dcb6f4a694a574ad450 Binary files /dev/null and b/src/assets/images/la.png differ diff --git a/src/assets/images/ne.png b/src/assets/images/ne.png new file mode 100644 index 0000000000000000000000000000000000000000..48e72a2d84a371d31127b679308a5c42f7faeeac Binary files /dev/null and b/src/assets/images/ne.png differ diff --git a/src/assets/images/pla.png b/src/assets/images/pla.png new file mode 100644 index 0000000000000000000000000000000000000000..b7de86a382fcbb42c0edfc4d15ca9706b037fc02 Binary files /dev/null and b/src/assets/images/pla.png differ diff --git a/src/assets/images/pour.png b/src/assets/images/pour.png new file mode 100644 index 0000000000000000000000000000000000000000..0ed3e0fdd83bf362e6cec69c4368a909a9f5b728 Binary files /dev/null and b/src/assets/images/pour.png differ diff --git a/src/assets/images/te.png b/src/assets/images/te.png new file mode 100644 index 0000000000000000000000000000000000000000..8271fc1e4ae3e80120e05d7bc2ddeb67333603fc Binary files /dev/null and b/src/assets/images/te.png differ diff --git a/src/assets/images/un.png b/src/assets/images/un.png new file mode 100644 index 0000000000000000000000000000000000000000..aced5e16189ee0e9266ec7eccca743a0f1ac3052 Binary files /dev/null and b/src/assets/images/un.png differ