651 Commits

Author SHA1 Message Date
Kamil Nikel
711d05bb5d Remove unused .btn class in NavigationComponent
Fixes mapillary/mapillary-js#77
2016-03-10 13:52:03 +01:00
Oscar Lorentzon
4a8b25e2f7 Slider for controlling the curtain value.
Add slider visible configuration value to make it
controllable.
Render slider with DOM renderer.
Indicate on slider state if DOM or GL needs render.
Subscribe to DOM renderer element to get element
and add event listener by creating observable from
event.
Create non styled slider when enabled.
Disable prevent default in mouse service to recieve
input events.
2016-03-10 10:11:48 +01:00
Oscar Lorentzon
f4448ff7bc Subject for changing mouse prevent default behavior.
Add subject for changing the prevent default behavior
for the mouse down event.
Events are prevented until a component says otherwise.
2016-03-10 08:52:27 +01:00
Oscar Lorentzon
5da9813b24 Handle mouse and touch events equally.
Fixes #60.

Merge mapped single touch move and mouse drag events
and use movement properties to rotate.
2016-03-08 17:12:04 +01:00
Oscar Lorentzon
0c0b807750 Expose single touch observable on service.
Handles the API part of #60.
2016-03-08 17:05:24 +01:00
Oscar Lorentzon
7a7d1149cf Touch service exposing general touch events.
Initial commit for #60.
2016-03-08 16:45:45 +01:00
Oscar Lorentzon
8391cb152e Show max image size texture on halt.
Delay high res texture creation for 2000 milliseconds
to avoid setting to fast when navigating.
Abort if a new node item is emitted in stream by
flat mapping latest which disposes the previous
observable.
Dispose old texture before setting the new one.
Ensure that node is the same as the currently displayed.
2016-03-07 16:15:41 +01:00
Oscar Lorentzon
0257ed4af6 Keep image plane component state in stream.
Operating on image plane state class holding the
state.
Dispose and remove state instance on deactivation.
Create new state instance on activation.
2016-03-07 14:39:06 +01:00
Oscar Lorentzon
dcda20d135 Set max image size setting from options.
Correct default value in options documentation.
2016-03-07 13:46:50 +01:00
Oscar Lorentzon
f755de1ea8 Document slider component. 2016-03-06 13:34:03 +01:00
Oscar Lorentzon
e5b5e83d35 Initial position configuration option for slider.
Add initial position property to slider configuration.
Handle initial position when activated.
API method for setting initial position.
2016-03-06 13:12:42 +01:00
Oscar Lorentzon
e07ae1d7ac Do not render background plane when slider disabled.
Do not render background plane to avoid it being displayed
beside non filling foreground images.
2016-03-06 13:12:42 +01:00
Oscar Lorentzon
dea081c14a Clear key configuration on deactivation.
Start configuration subscription after setting up
other subscriptions.
2016-03-06 13:12:42 +01:00
Oscar Lorentzon
c21cff0095 Export slider keys interface. 2016-03-06 13:12:41 +01:00
Oscar Lorentzon
daeb7cf5d0 Use configuration to set slider keys.
Use configuration to be able to initialize viewer
with slider keys.
2016-03-06 13:12:41 +01:00
Oscar Lorentzon
645ac195cf Use options base image size value in settings.
Correct default value in viewer options doc.
2016-03-06 13:12:40 +01:00
Oscar Lorentzon
268424c419 Make viewer options docs correspond to default behaviour. 2016-03-04 08:05:15 +01:00
Oscar Lorentzon
b15f351fd1 Prevent default for key arrow events.
Prevent default for key arrow events to avoid scrolling
in browser when moving.
2016-03-03 22:53:52 +01:00
Oscar Lorentzon
d6da463161 Check if direction exist before moving.
Avoid errors in keyboard component by checking edges.
2016-03-03 22:43:25 +01:00
Oscar Lorentzon
c9a47a49ba Log navigation errors in keyboard component.
Fixes #76
2016-03-03 22:27:53 +01:00
Oscar Lorentzon
e053546f1f Revert player stop behavior.
The special stop without cut is needed when
reaching the end of a sequence to avoid stopping
before the last node.
2016-03-03 17:23:24 +01:00
Oscar Lorentzon
210bc73c7c Remove context property and expose state type as observable.
Use state observable in slider component.
2016-03-03 15:47:47 +01:00
Oscar Lorentzon
919ce7e2a5 Map append observable to context operation. 2016-03-03 13:31:05 +01:00
Oscar Lorentzon
0f2a206a03 Invoke all state methods on context subject. 2016-03-03 12:21:38 +01:00
Oscar Lorentzon
53adf3d97e Update state in observable pipeline. 2016-03-03 11:57:41 +01:00
Oscar Lorentzon
92cc09626f Disable slider if when nodes are not set. 2016-03-02 17:59:12 +01:00
Oscar Lorentzon
405cfae423 Use alpha as truth for slider curtain value.
Avoid setting the curtain value in two places.
Set it only on state and use the returned value
to set the curtain in the slider state.
2016-03-02 17:44:43 +01:00
Oscar Lorentzon
2287cc64fb Disable slider for motionless transitions.
Do not move state when slider is disabled.
2016-03-02 17:20:02 +01:00
Oscar Lorentzon
93b114d620 Move motionless logic to state base and expose it.
Use motionless method in waiting state.
2016-03-02 17:18:28 +01:00
Oscar Lorentzon
74e168e75b Disable slider functionality for pano nodes. 2016-03-02 15:55:56 +01:00
Oscar Lorentzon
ff821f1c6c Empty image plane scene arrays on clear. 2016-03-02 15:52:08 +01:00
Oscar Lorentzon
d2eef90aed Dispose slider state in stream on component deactivation.
Ensure that slider state has a subscription before
calling onNext on slider creator.
2016-03-02 15:11:39 +01:00
Oscar Lorentzon
28ef13fddd Check state in slider component before changing. 2016-03-02 14:36:37 +01:00
Oscar Lorentzon
0fe2b01603 State type enum and property on context and service. 2016-03-02 14:35:48 +01:00
Oscar Lorentzon
cfd8d1b632 Update slider curtain on mouse move.
Always render on a mouse move.
Move state camera position along with curtain.
2016-03-02 14:01:57 +01:00
Oscar Lorentzon
e25f2ca8f2 Move to method on state for setting alpha directly. 2016-03-02 13:47:33 +01:00
Oscar Lorentzon
9bdcb2edad Clone trajectory cameras before setting properties.
Ensure that the original cameras are kept in the
trajectory array if they are set again at a later
point in time.
Only change lookat vector for panoramas.
2016-03-02 13:46:20 +01:00
Oscar Lorentzon
7fd72d0fc8 Slider class to hold state in obervable stream.
Use scan operator to handle slider state updates.
2016-03-02 10:54:49 +01:00
Oscar Lorentzon
1e0b60143f Set state to waiting when activating slider.
Set it back to traversing when deactivating slider.
2016-03-02 08:53:44 +01:00
Oscar Lorentzon
78086095ff Expose state changing functionality in service.
Possible to change between waiting and treversing
states.
2016-03-02 08:52:08 +01:00
Oscar Lorentzon
9e14eea85b Set nodes API on slider component.
API for setting nodes from keys on slider component.
Use set image planes methods on scene to always
overwrite old planes.
2016-03-02 08:33:15 +01:00
Oscar Lorentzon
0ee9a2ad85 Reset image plane functionalty in scene. 2016-03-02 08:28:12 +01:00
Oscar Lorentzon
e3b82638e7 Prepend nodes to trajectory method on state.
Add method for prepending nodes to trajectory.
2016-03-02 08:21:08 +01:00
Oscar Lorentzon
28d885a63f Show image planes in slider component.
Render image planes with opacity of one always.
2016-03-01 18:04:21 +01:00
Oscar Lorentzon
c790599e9f Move image plane creation logic to separate class.
Use factory in image plane component.
2016-03-01 17:12:17 +01:00
Oscar Lorentzon
97c9f9209b Add empty slider component.
Disabled by default.
2016-03-01 16:47:49 +01:00
Oscar Lorentzon
521550b15a Bounding box crop in perspective shader.
Crop to image boundaries in image plane component.
2016-03-01 16:37:36 +01:00
Oscar Lorentzon
9a199d8466 Non abstract base class implementations.
Make complete base class methods non abstract to
avoid super calls.
2016-03-01 14:07:56 +01:00
Oscar Lorentzon
cea16901e0 Move cut and remove functionality to base class. 2016-03-01 13:58:39 +01:00
Oscar Lorentzon
4e67bc6f93 Move append functionality to base class. 2016-03-01 13:35:10 +01:00