Comments (6)
I think these are two different operations, though arguably the names could be better.
zoom_level
: a specific zoom relative to the scale (1 screen pixel) = (1 image pixel)
zoom
: a factor by which to change the current zoom_level
, e.g. "I want to zoom in another factor 1.5" . A better name might be zoom_by
.
from astrowidgets.
But do we need both? 🤔
from astrowidgets.
I think we do in the context of user interactions. Imagine you have been doing some zoom in/zoom out by mouse or scroll wheel or whatever. You probably have no idea what your current zoom_level
is but might know that you want to zoom
by additional factor in or out.
One could calculate the new zoom_level
manually but that seems cumbersome.
The other difference I see between them is that zoom_level
is part of the state of the view/a property and zoom
is an action/method.
from astrowidgets.
So, should we remove the zoom_level
setter and make it read-only?
from astrowidgets.
I'm inclined not to because I see setting a specific level and zooming by a particular factor as different things. In a widget implementation, allowing zoom_level
to be settable in the API means it is fine to make it a traitlet, which makes it easy to link the zoom level of two browsers.
from astrowidgets.
Ah, gotcha...
from astrowidgets.
Related Issues (20)
- Change marker from a dictionary to a class or `namedtuple`, and change the name from `marker` to `marker_style` HOT 2
- Setting stretch as a string is problematic if the stretch requires a parameter HOT 5
- Coordinates in cursor display may not be RA/Dec HOT 12
- TST: devdeps broken due to jinja2 and markupsafe conflicts HOT 1
- TST: devdeps broken because _mouse_click_cb creates canvas object with coord being None HOT 4
- deprecation of 'raDegToString' from 'ginga.util.wcs' HOT 6
- TST: image.stretch setter fails with Ginga dev HOT 2
- File loading: Just have one "load" method and let backend decide on its own what to load
- Move backend specific implementations out of this repo
- Integration test with backends and instruction for downstream testing
- Policy on how backend can propose API changes to established Protocol HOT 2
- Add more types to the protocol HOT 1
- INFO: Ginga marker parameters HOT 1
- INFO: bqplot marker properties
- INFO: matplotlib marker properties
- INFO: ds9 marker parameters HOT 1
- Would hide_markers method be useful?
- Refactor the test `test_marking_operations`
- Add Zenodo badge after the next GitHub Release
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from astrowidgets.