1
0
mirror of https://github.com/ppy/osu.git synced 2024-10-01 05:17:24 +08:00
Commit Graph

219 Commits

Author SHA1 Message Date
Dean Herbert
cd48cb1887 Add comment 2018-04-06 19:53:23 +09:00
Dean Herbert
5426432e46 Fix drag select crashing 2018-04-06 11:47:21 +09:00
Dean Herbert
32e8d93596 Fix selection changing when clicking overlapping hitobjects 2018-04-06 11:22:36 +09:00
Dean Herbert
24b9a8c983 Allow HitObjectMasks to handle drag events directly 2018-04-06 10:29:34 +09:00
Dean Herbert
5749e71560 Apply review fixes 2018-04-05 21:06:48 +09:00
Dean Herbert
345cfb077d No need to sort list any more 2018-04-05 21:03:39 +09:00
Dean Herbert
216c4629e0 Fix dragging backwards not deselecting pending selection 2018-04-04 20:44:22 +09:00
Dean Herbert
b7325d73e8 Don't inherit VisbilityContainer 2018-04-04 20:44:11 +09:00
Dean Herbert
94c3f38541 Pass down input state instead of parent lookup 2018-04-04 20:06:45 +09:00
Dean Herbert
2b15555ede Remove MaskContainer dependency in MaskSelection 2018-04-04 20:05:01 +09:00
Dean Herbert
5c036b966b Formatting fixes 2018-04-04 20:04:54 +09:00
Dean Herbert
31a7db0a35 Fix drag mishaps 2018-04-04 19:42:59 +09:00
Dean Herbert
bce114a37b Make AliveMasks private 2018-04-04 18:55:17 +09:00
Dean Herbert
4d71f2084c Move individual mask selection logic out of MaskSelection 2018-04-04 18:29:53 +09:00
Dean Herbert
b6b8c51657 Remove DragLayer dependency on MaskContainer 2018-04-04 18:20:32 +09:00
Dean Herbert
c2d371797e Fix unbind failure 2018-04-04 17:38:34 +09:00
Dean Herbert
c712b29b5b Rename dragBox to dragLayer 2018-04-04 16:24:27 +09:00
Dean Herbert
4196bb8c24 Move selection logic to MaskContainer 2018-04-04 16:24:13 +09:00
Dean Herbert
d453c2589a Add an explanatory comment for weird override 2018-04-04 16:02:20 +09:00
smoogipoo
4f19059e55 DragBox -> DragLayer 2018-04-03 21:29:49 +09:00
smoogipoo
f1f7d978ec Add some comments 2018-03-30 16:28:59 +09:00
smoogipoo
69a7ddbf1e Fix ordering of display/input of HitObjectMasks 2018-03-30 16:28:49 +09:00
smoogipoo
53541a5c8d Add license header 2018-03-30 15:53:31 +09:00
smoogipoo
5d0a636cc4 Rename SelectionBox -> Selection 2018-03-30 15:51:38 +09:00
smoogipoo
1dca1663c3 Handle all selection events within SelectionBox (incl. single-mask) 2018-03-30 15:50:55 +09:00
smoogipoo
082e5e4949 Reduce iterations of DragBox 2018-03-30 15:06:52 +09:00
smoogipoo
6b2ca36657 Add license header 2018-03-29 22:52:42 +09:00
smoogipoo
d9c5a0c6d1 Fix position editing not working 2018-03-29 22:38:44 +09:00
smoogipoo
4446aeaa0d Commenting + cleanup of HitObjectMask/HitObjectMaskLayer 2018-03-29 22:38:28 +09:00
smoogipoo
d8f26f2260 Make HitObjectMaskLayer not iterate through all masks when deselecting 2018-03-29 22:22:42 +09:00
smoogipoo
1018711cc9 Cleanup SelectionBox 2018-03-29 22:20:56 +09:00
smoogipoo
346de77776 Cleanup DragBox 2018-03-29 22:13:28 +09:00
smoogipoo
04874bcda4 "overlay" -> "mask" 2018-03-29 22:09:22 +09:00
smoogipoo
6d4f94756e Rewrite the way drag + click selections happen
The general idea here is that we need the masks to handle mouse down events, as they need to handle the drag (mousedown -> drag immediately).

I've rewritten the editor selections to use events, as there are some 3 different components that handle/trigger selections in different ways.

1. All selections/deselections now propagate through `HitObjectMask.Select()`/`HitObjectMask.Deselect()`.
2. Components that react to changes in the selection bind to the masks' `Selected`/`Deselected` events, and track them/change their states locally.
3. Masks provide a `SingleSelectionRequested` event which is invoked on the mouse-down event. Various components bind to this event to perform state changes locally in this scenario.
4. `DragBox` now handles all drag input locally. It triggers `Select`/`Deselect` on the masks it needs to.
5. `SelectionBox` handles the display of itself locally.
6. `SelectionBox` handles movement of groups of masks locally.
7. `HitObjectMasks` handles movement of itself locally.
2018-03-29 22:07:23 +09:00
smoogipoo
6314694557 Make HitObjectMaskLayer always create masks for all objects 2018-03-29 17:13:45 +09:00
Dean Herbert
0e669c9a3f Fix many warnings 2018-03-24 18:23:22 +09:00
smoogipoo
ffa712dccb Fix post-merge issues 2018-03-24 15:19:45 +09:00
smoogipoo
2b7d22c4ea Very slightly reduce size of slider bar to increase bottom padding 2018-03-22 20:11:55 +09:00
Dean Herbert
dade52d15d Fix vertical padding 2018-03-22 16:15:14 +09:00
Dean Herbert
271c082606 Adjust colour assignment 2018-03-21 16:25:32 +09:00
Dean Herbert
48142602ea Adjust text size to match design 2018-03-21 16:04:43 +09:00
Dean Herbert
63f0419d6a Apply minor fixes 2018-03-21 15:40:43 +09:00
Dean Herbert
8ac660b0c6 Fixes for keyboard handling and general code quality 2018-03-20 22:25:15 +09:00
Dean Herbert
aa8b0d017c Adjust colours and spacing 2018-03-20 21:59:56 +09:00
Dean Herbert
dac1ba21db Make keyboard control work 2018-03-20 21:38:22 +09:00
Dean Herbert
045610dbfe Adjust styling and colours 2018-03-20 21:31:17 +09:00
Dean Herbert
c2eb32c0e9 DrawableBeatDivisor -> BeatDivisorControl 2018-03-20 20:10:27 +09:00
Dean Herbert
6fd650777c Move value change logic to bindable
Also add drag support
2018-03-20 20:09:55 +09:00
smoogipoo
50192b21e3 Give DrawableBeatDivisor a ctor 2018-03-20 13:57:25 +09:00
smoogipoo
b1d09500f2 Integrate beat snap divisor into editor seeking 2018-03-19 20:42:06 +09:00