boxes.c File Reference

Go to the source code of this file.

Functions

char * meta_rectangle_to_string (const MetaRectangle *rect, char *output)
char * meta_rectangle_region_to_string (GList *region, const char *separator_string, char *output)
char * meta_rectangle_edge_to_string (const MetaEdge *edge, char *output)
char * meta_rectangle_edge_list_to_string (GList *edge_list, const char *separator_string, char *output)
MetaRectangle meta_rect (int x, int y, int width, int height)
int meta_rectangle_area (const MetaRectangle *rect)
gboolean meta_rectangle_intersect (const MetaRectangle *src1, const MetaRectangle *src2, MetaRectangle *dest)
gboolean meta_rectangle_equal (const MetaRectangle *src1, const MetaRectangle *src2)
gboolean meta_rectangle_overlap (const MetaRectangle *rect1, const MetaRectangle *rect2)
gboolean meta_rectangle_vert_overlap (const MetaRectangle *rect1, const MetaRectangle *rect2)
gboolean meta_rectangle_horiz_overlap (const MetaRectangle *rect1, const MetaRectangle *rect2)
gboolean meta_rectangle_could_fit_rect (const MetaRectangle *outer_rect, const MetaRectangle *inner_rect)
gboolean meta_rectangle_contains_rect (const MetaRectangle *outer_rect, const MetaRectangle *inner_rect)
void meta_rectangle_resize_with_gravity (const MetaRectangle *old_rect, MetaRectangle *rect, int gravity, int new_width, int new_height)
static GList * merge_spanning_rects_in_region (GList *region)
static gint compare_rect_areas (gconstpointer a, gconstpointer b)
GList * meta_rectangle_get_minimal_spanning_set_for_region (const MetaRectangle *basic_rect, const GSList *all_struts)
GList * meta_rectangle_expand_region (GList *region, const int left_expand, const int right_expand, const int top_expand, const int bottom_expand)
GList * meta_rectangle_expand_region_conditionally (GList *region, const int left_expand, const int right_expand, const int top_expand, const int bottom_expand, const int min_x, const int min_y)
void meta_rectangle_expand_to_avoiding_struts (MetaRectangle *rect, const MetaRectangle *expand_to, const MetaDirection direction, const GSList *all_struts)
void meta_rectangle_free_list_and_elements (GList *filled_list)
gboolean meta_rectangle_could_fit_in_region (const GList *spanning_rects, const MetaRectangle *rect)
gboolean meta_rectangle_contained_in_region (const GList *spanning_rects, const MetaRectangle *rect)
gboolean meta_rectangle_overlaps_with_region (const GList *spanning_rects, const MetaRectangle *rect)
void meta_rectangle_clamp_to_fit_into_region (const GList *spanning_rects, FixedDirections fixed_directions, MetaRectangle *rect, const MetaRectangle *min_size)
void meta_rectangle_clip_to_region (const GList *spanning_rects, FixedDirections fixed_directions, MetaRectangle *rect)
void meta_rectangle_shove_into_region (const GList *spanning_rects, FixedDirections fixed_directions, MetaRectangle *rect)
void meta_rectangle_find_linepoint_closest_to_point (double x1, double y1, double x2, double y2, double px, double py, double *valx, double *valy)
gboolean meta_rectangle_edge_aligns (const MetaRectangle *rect, const MetaEdge *edge)
static GList * get_rect_minus_overlap (const GList *rect_in_list, MetaRectangle *overlap)
static GList * replace_rect_with_list (GList *old_element, GList *new_list)
static GList * get_disjoint_strut_rect_list_in_region (const GSList *old_struts, const MetaRectangle *region)
gint meta_rectangle_edge_cmp_ignore_type (gconstpointer a, gconstpointer b)
gint meta_rectangle_edge_cmp (gconstpointer a, gconstpointer b)
static gboolean edges_overlap (const MetaEdge *edge1, const MetaEdge *edge2)
static gboolean rectangle_and_edge_intersection (const MetaRectangle *rect, const MetaEdge *edge, MetaEdge *overlap, int *handle_type)
static GList * add_edges (GList *cur_edges, const MetaRectangle *rect, gboolean rect_is_internal)
static GList * split_edge (GList *cur_list, const MetaEdge *old_edge, const MetaEdge *remove)
static void fix_up_edges (MetaRectangle *rect, MetaEdge *edge, GList **strut_edges, GList **edge_splits, gboolean *edge_needs_removal)
GList * meta_rectangle_remove_intersections_with_boxes_from_edges (GList *edges, const GSList *rectangles)
GList * meta_rectangle_find_onscreen_edges (const MetaRectangle *basic_rect, const GSList *all_struts)
GList * meta_rectangle_find_nonintersected_xinerama_edges (const GList *xinerama_rects, const GSList *all_struts)


Function Documentation

static GList* add_edges ( GList *  cur_edges,
const MetaRectangle rect,
gboolean  rect_is_internal 
) [static]

static gint compare_rect_areas ( gconstpointer  a,
gconstpointer  b 
) [static]

Definition at line 458 of file boxes.c.

References meta_rectangle_area().

Referenced by meta_rectangle_get_minimal_spanning_set_for_region().

static gboolean edges_overlap ( const MetaEdge edge1,
const MetaEdge edge2 
) [static]

static void fix_up_edges ( MetaRectangle rect,
MetaEdge edge,
GList **  strut_edges,
GList **  edge_splits,
gboolean *  edge_needs_removal 
) [static]

static GList* get_disjoint_strut_rect_list_in_region ( const GSList *  old_struts,
const MetaRectangle region 
) [static]

static GList* get_rect_minus_overlap ( const GList *  rect_in_list,
MetaRectangle overlap 
) [static]

static GList* merge_spanning_rects_in_region ( GList *  region  )  [static]

MetaRectangle meta_rect ( int  x,
int  y,
int  width,
int  height 
)

int meta_rectangle_area ( const MetaRectangle rect  ) 

void meta_rectangle_clamp_to_fit_into_region ( const GList *  spanning_rects,
FixedDirections  fixed_directions,
MetaRectangle rect,
const MetaRectangle min_size 
)

void meta_rectangle_clip_to_region ( const GList *  spanning_rects,
FixedDirections  fixed_directions,
MetaRectangle rect 
)

gboolean meta_rectangle_contained_in_region ( const GList *  spanning_rects,
const MetaRectangle rect 
)

gboolean meta_rectangle_contains_rect ( const MetaRectangle outer_rect,
const MetaRectangle inner_rect 
)

gboolean meta_rectangle_could_fit_in_region ( const GList *  spanning_rects,
const MetaRectangle rect 
)

gboolean meta_rectangle_could_fit_rect ( const MetaRectangle outer_rect,
const MetaRectangle inner_rect 
)

gboolean meta_rectangle_edge_aligns ( const MetaRectangle rect,
const MetaEdge edge 
)

gint meta_rectangle_edge_cmp ( gconstpointer  a,
gconstpointer  b 
)

gint meta_rectangle_edge_cmp_ignore_type ( gconstpointer  a,
gconstpointer  b 
)

char* meta_rectangle_edge_list_to_string ( GList *  edge_list,
const char *  separator_string,
char *  output 
)

char* meta_rectangle_edge_to_string ( const MetaEdge edge,
char *  output 
)

gboolean meta_rectangle_equal ( const MetaRectangle src1,
const MetaRectangle src2 
)

GList* meta_rectangle_expand_region ( GList *  region,
const int  left_expand,
const int  right_expand,
const int  top_expand,
const int  bottom_expand 
)

GList* meta_rectangle_expand_region_conditionally ( GList *  region,
const int  left_expand,
const int  right_expand,
const int  top_expand,
const int  bottom_expand,
const int  min_x,
const int  min_y 
)

void meta_rectangle_expand_to_avoiding_struts ( MetaRectangle rect,
const MetaRectangle expand_to,
const MetaDirection  direction,
const GSList *  all_struts 
)

void meta_rectangle_find_linepoint_closest_to_point ( double  x1,
double  y1,
double  x2,
double  y2,
double  px,
double  py,
double *  valx,
double *  valy 
)

Definition at line 1045 of file boxes.c.

Referenced by constrain_aspect_ratio(), and test_find_closest_point_to_line().

GList* meta_rectangle_find_nonintersected_xinerama_edges ( const GList *  xinerama_rects,
const GSList *  all_struts 
)

GList* meta_rectangle_find_onscreen_edges ( const MetaRectangle basic_rect,
const GSList *  all_struts 
)

void meta_rectangle_free_list_and_elements ( GList *  filled_list  ) 

GList* meta_rectangle_get_minimal_spanning_set_for_region ( const MetaRectangle basic_rect,
const GSList *  all_struts 
)

gboolean meta_rectangle_horiz_overlap ( const MetaRectangle rect1,
const MetaRectangle rect2 
)

gboolean meta_rectangle_intersect ( const MetaRectangle src1,
const MetaRectangle src2,
MetaRectangle dest 
)

gboolean meta_rectangle_overlap ( const MetaRectangle rect1,
const MetaRectangle rect2 
)

gboolean meta_rectangle_overlaps_with_region ( const GList *  spanning_rects,
const MetaRectangle rect 
)

Definition at line 779 of file boxes.c.

References FALSE, meta_rectangle_overlap(), and NULL.

Referenced by update_onscreen_requirements().

char* meta_rectangle_region_to_string ( GList *  region,
const char *  separator_string,
char *  output 
)

GList* meta_rectangle_remove_intersections_with_boxes_from_edges ( GList *  edges,
const GSList *  rectangles 
)

void meta_rectangle_resize_with_gravity ( const MetaRectangle old_rect,
MetaRectangle rect,
int  gravity,
int  new_width,
int  new_height 
)

void meta_rectangle_shove_into_region ( const GList *  spanning_rects,
FixedDirections  fixed_directions,
MetaRectangle rect 
)

char* meta_rectangle_to_string ( const MetaRectangle rect,
char *  output 
)

gboolean meta_rectangle_vert_overlap ( const MetaRectangle rect1,
const MetaRectangle rect2 
)

static gboolean rectangle_and_edge_intersection ( const MetaRectangle rect,
const MetaEdge edge,
MetaEdge overlap,
int *  handle_type 
) [static]

static GList* replace_rect_with_list ( GList *  old_element,
GList *  new_list 
) [static]

Definition at line 1177 of file boxes.c.

References NULL.

Referenced by get_disjoint_strut_rect_list_in_region().

static GList* split_edge ( GList *  cur_list,
const MetaEdge old_edge,
const MetaEdge remove 
) [static]


Generated on Sat Aug 23 22:04:19 2008 for metacity by  doxygen 1.5.5