zoom in and zoom out buttons

This commit is contained in:
Eugenio Romano
2016-06-23 15:47:06 +01:00
parent 17b4e6917a
commit c05ff0560e
3 changed files with 36 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
.viewer-pdf-container {
overflow: auto;
background: #3E3E3E;
}

View File

@@ -35,5 +35,11 @@
<div id="viewer-scale-page-button" class="button-page left" (click)="pageFit()">
<i class="icon material-icons">zoom_out_map</i>
</div>
<div id="viewer-scale-page-button" class="button-page left" (click)="zoomIn()">
<i class="icon material-icons">zoom_in</i>
</div>
<div id="viewer-scale-page-button" class="button-page left" (click)="zoomOut()">
<i class="icon material-icons">zoom_out</i>
</div>
</div>
<!-- Command toolbar end -->

View File

@@ -45,6 +45,9 @@ export class PdfViewerComponent {
currentScale: number;
MAX_AUTO_SCALE: number = 1.25;
DEFAULT_SCALE_DELTA: number = 1.1;
MIN_SCALE: number = 0.25;
MAX_SCALE: number = 10.0;
ngOnChanges(changes) {
if (!this.urlFile) {
@@ -200,6 +203,32 @@ export class PdfViewerComponent {
}
}
/**
* zoom in page pdf
*/
zoomIn(ticks) {
let newScale = this.currentScale;
do {
newScale = (newScale * this.DEFAULT_SCALE_DELTA).toFixed(2);
newScale = Math.ceil(newScale * 10) / 10;
newScale = Math.min(this.MAX_SCALE, newScale);
} while (--ticks > 0 && newScale < this.MAX_SCALE);
this.setScaleUpdatePages(newScale);
}
/**
* zoom out page pdf
*/
zoomOut(ticks) {
let newScale = this.currentScale;
do {
newScale = (newScale / this.DEFAULT_SCALE_DELTA).toFixed(2);
newScale = Math.floor(newScale * 10) / 10;
newScale = Math.max(this.MIN_SCALE, newScale);
} while (--ticks > 0 && newScale > this.MIN_SCALE);
this.setScaleUpdatePages(newScale);
}
/**
* load the previous page
*/