mirror of
https://github.com/labwc/labwc.git
synced 2026-02-05 04:06:33 -05:00
struct ssd_part and struct node_descriptor seem to have essentially the same purpose: tag a wlr_scene_node with some extra data indicating what we're using it for. Also, as with enum ssd_part_type (now lab_node_type), ssd_part is used for several types of nodes that are not part of SSD. So instead of the current chaining (node_descriptor -> ssd_part), let's flatten/unify the two structs. In detail: - First, merge node_descriptor_type into lab_node_type. - Add a separate view pointer in node_descriptor, since in the case of SSD buttons we need separate view and button data pointers. - Rename ssd_part_button to simply ssd_button. It no longer contains an ssd_part as base. - Add node_try_ssd_button_from_node() which replaces node_ssd_part_from_node() + button_try_from_ssd_part(). - Factor out ssd_button_free() to be called in node descriptor destroy. - Finally, get_cursor_context() needs a little reorganization to handle the unified structs. Overall, this simplifies the code a bit, and in my opinion makes it easier to understand. No functional change intended. |
||
|---|---|---|
| .. | ||
| array.h | ||
| border.h | ||
| box.h | ||
| buf.h | ||
| dir.h | ||
| edge.h | ||
| fd-util.h | ||
| file-helpers.h | ||
| font.h | ||
| grab-file.h | ||
| graphic-helpers.h | ||
| lab-scene-rect.h | ||
| list.h | ||
| macros.h | ||
| match.h | ||
| mem.h | ||
| node-type.h | ||
| nodename.h | ||
| parse-bool.h | ||
| parse-double.h | ||
| scene-helpers.h | ||
| set.h | ||
| spawn.h | ||
| string-helpers.h | ||
| surface-helpers.h | ||
| xml.h | ||