@@ -54,6 +54,16 @@ inline EventPropertyMap eventPropertyMerge(const EventPropertyMap& first, EventP
54
54
return std::move (second);
55
55
}
56
56
57
+ enum PointerCaptureStatus {
58
+ // / The pointer has not been captured by any component
59
+ kPointerStatusNotCaptured ,
60
+ // / The pointer has been captured by a component
61
+ kPointerStatusCaptured ,
62
+ // / A component wants to capture the pointer, but is allowing other components to process the
63
+ // same pointer event first
64
+ kPointerStatusPendingCapture
65
+ };
66
+
57
67
/* *
58
68
* The native interface to a primitive APL Component.
59
69
*
@@ -517,7 +527,7 @@ class CoreComponent : public Component,
517
527
/* *
518
528
* @return The current calculated style. This may be null.
519
529
*/
520
- const StyleInstancePtr getStyle () const ;
530
+ StyleInstancePtr getStyle () const ;
521
531
522
532
/* *
523
533
* Update the style of the component
@@ -636,12 +646,6 @@ class CoreComponent : public Component,
636
646
637
647
void calculateDrawnBorder (bool useDirtyFlag);
638
648
639
- /* *
640
- * @param position Point in global coordinates.
641
- * @return Whether that point is within the bounds of this component.
642
- */
643
- bool containsGlobalPosition (const Point & position) const ;
644
-
645
649
/* *
646
650
* @param position Point in local coordinates.
647
651
* @return Whether that point is within the bounds of this component.
@@ -772,9 +776,9 @@ class CoreComponent : public Component,
772
776
* Defer pointer processing to component.
773
777
* @param event pointer event.
774
778
* @param timestamp event timestamp.
775
- * @return true if pointer captured by a component processing, false otherwise.
779
+ * @return the status of the pointer following processing by this component
776
780
*/
777
- virtual bool processPointerEvent (const PointerEvent& event, apl_time_t timestamp);
781
+ virtual PointerCaptureStatus processPointerEvent (const PointerEvent& event, apl_time_t timestamp);
778
782
779
783
/* *
780
784
* @return The root configuration provided by the viewhost
@@ -906,6 +910,11 @@ class CoreComponent : public Component,
906
910
*/
907
911
virtual void ensureDisplayedChildren ();
908
912
913
+ /* *
914
+ * @return True if layout change calculations should not be propagated to component's children. Usually the case
915
+ * when component itself is not taking part in the layout tree.
916
+ */
917
+ bool shouldNotPropagateLayoutChanges () const ;
909
918
910
919
private:
911
920
friend streamer& operator <<(streamer&, const Component&);
0 commit comments