1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package com.poqop.document.models;
- import com.poqop.document.events.BringUpZoomControlsEvent;
- import com.poqop.document.events.EventDispatcher;
- import com.poqop.document.events.ZoomChangedEvent;
- import com.poqop.document.events.ZoomListener;
- public class ZoomModel extends EventDispatcher
- {
- private float zoom = 1.0f;
- private static final float INCREMENT_DELTA = 0.1f;
- private boolean horizontalScrollEnabled;
- private boolean isCommited;
- public void setZoom(float zoom)
- {
- zoom = Math.max(zoom, 1.0f);
- if (this.zoom != zoom)
- {
- float oldZoom = this.zoom;
- this.zoom = zoom;
- isCommited = false;
- dispatch(new ZoomChangedEvent(zoom, oldZoom));
- }
- }
- public float getZoom()
- {
- return zoom;
- }
- //Ôö¼ÓËõ·Å
- public void increaseZoom()
- {
- setZoom(getZoom() + INCREMENT_DELTA);
- }
- //¼õÉÙËõ·Å
- public void decreaseZoom()
- {
- setZoom(getZoom() - INCREMENT_DELTA);
- }
- public void toggleZoomControls()
- {
- dispatch(new BringUpZoomControlsEvent());
- }
- public void setHorizontalScrollEnabled(boolean horizontalScrollEnabled)
- {
- this.horizontalScrollEnabled = horizontalScrollEnabled;
- }
- public boolean isHorizontalScrollEnabled()
- {
- return horizontalScrollEnabled;
- }
- public boolean canDecrement()
- {
- return zoom > 1.0f;
- }
- public void commit()
- {
- if (!isCommited)
- {
- isCommited = true;
- dispatch(new ZoomListener.CommitZoomEvent());
- }
- }
- }
|