]> git.mdlowis.com Git - proto/labwc.git/commitdiff
define ssd_part_contains to define the mouse context subset relation
authorbi4k8 <bi4k8@github>
Wed, 1 Dec 2021 22:10:33 +0000 (22:10 +0000)
committerJohan Malm <johanmalm@users.noreply.github.com>
Thu, 2 Dec 2021 17:58:31 +0000 (17:58 +0000)
include/ssd.h
src/ssd.c

index 0215c2fcd87ce09ca0d396a4cf6c103b077cad8a..8ec56295d8a2b1b383afe8ef93b1cdbaba537dda 100644 (file)
@@ -67,5 +67,6 @@ void ssd_update_title(struct view *view);
 void ssd_create(struct view *view);
 void ssd_destroy(struct view *view);
 void ssd_update_geometry(struct view *view, bool force);
+bool ssd_part_contains(enum ssd_part_type whole, enum ssd_part_type candidate);
 
 #endif /* __LABWC_SSD_H */
index a948cf1177727a82bf47ed98206e27768c2425b1..ffa0b728cb4cc62e3c2f2b05a6b20cf4fa5f218c 100644 (file)
--- a/src/ssd.c
+++ b/src/ssd.c
@@ -415,3 +415,18 @@ ssd_update_geometry(struct view *view, bool force)
        view->ssd.box.height = view->h;
        damage_all_outputs(view->server);
 }
+
+bool
+ssd_part_contains(enum ssd_part_type whole, enum ssd_part_type candidate)
+{
+       if (whole == candidate) {
+               return true;
+       }
+       if (whole == LAB_SSD_PART_TITLEBAR) {
+               return candidate >= LAB_SSD_BUTTON_CLOSE && candidate <= LAB_SSD_PART_CORNER_TOP_RIGHT;
+       }
+       if (whole == LAB_SSD_FRAME) {
+               return candidate >= LAB_SSD_BUTTON_CLOSE && candidate <= LAB_SSD_CLIENT;
+       }
+       return false;
+}