summaryrefslogtreecommitdiff
path: root/doc/how-to-get-focus-right.txt
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2005-11-01 06:54:41 +0000
committerElijah Newren <newren@src.gnome.org>2005-11-01 06:54:41 +0000
commit460ff4bd50f1dfd3a9fb948601bde4c083b43ed5 (patch)
tree2b235a4b25f51dcc7c9329700e788c15748841ed /doc/how-to-get-focus-right.txt
parentbfc1cd3c077a3b9b5e35caef903ab248231751f9 (diff)
downloadmetacity-460ff4bd50f1dfd3a9fb948601bde4c083b43ed5.tar.gz
Add routines to find all the "screen edges" (where struts are considered
2005-10-31 Elijah Newren <newren@gmail.com> Add routines to find all the "screen edges" (where struts are considered to be offscreen), plus a thorough testing case. * src/boxes.[ch] (meta_rectangle_free_list_and_elements): * src/testboxes.c (test_regions_okay, test_region_fitting, test_clamping_to_region, test_clipping_to_region, test_shoving_into_region): * src/workspace.c (meta_workspace_free, meta_workspace_invalidate_work_area): meta_rectangle_free_spanning_set() was renamed to meta_rectangle_free_list_and_elements() * src/boxes.c: (meta_rectangle_region_to_string): Output SOMETHING if the list is empty (meta_rectangle_edge_to_string, meta_rectangle_edge_list_to_string): new printing functions for edges (meta_rectangle_get_minimal_spanning_set_for_region): clean up the overview comment a little (struts_are_disjoint): (sort_edges): (edges_overlap): (rectangle_and_edge_intersection): (add_edges): (split_edge): (fix_up_edges): (meta_rectangle_find_onscreen_edges): New functions to do various parts of finding all the screen edges * src/boxes.h: (BOX_LEFT, BOX_RIGHT, BOX_TOP, BOX_BOTTOM): convenience macros that I should have defined a long time ago (enum MetaEdgeType): (struct MetaEdge): new types for edges (meta_rectangle_edge_to_string): (meta_rectangle_edge_list_to_string): (meta_rectangle_find_onscreen_edges): new functions * src/common.h: (enum MetaDirection): direction stuff seems to be used everywhere so add a type here; only used in boxes for now, but add a note explaining several other places where it could be used to remove duplicative enums * src/testboxes.c: (new_onscreen_edge): (verify_edge_lists_are_equal): (test_find_onscreen_edges): new functions for testing the new "screen edge" finding abilities (main): add test_find_onscreen_edges() to the list (get_strut_list): new function factored out from get_screen_region() (get_screen_region): call get_strut_list() since it now has most of the code this function used to have. (get_screen_edges): new function to compute the screen edges using the struts in get_strut_list() and the meta_rectangle_find_onscreen_edges() function.
Diffstat (limited to 'doc/how-to-get-focus-right.txt')
0 files changed, 0 insertions, 0 deletions