edge-resistance.c File Reference

Go to the source code of this file.

Data Structures

struct  ResistanceDataForAnEdge
struct  MetaEdgeResistanceData

Defines

#define WINDOW_EDGES_RELEVANT(window, display)

Typedefs

typedef struct
ResistanceDataForAnEdge 
ResistanceDataForAnEdge

Functions

static int find_index_of_edge_near_position (const GArray *edges, int position, gboolean want_interval_min, gboolean horizontal)
static gboolean points_on_same_side (int ref, int pt1, int pt2)
static int find_nearest_position (const GArray *edges, int position, int old_position, const MetaRectangle *new_rect, gboolean horizontal, gboolean only_forward)
static gboolean movement_towards_edge (MetaDirection side, int increment)
static gboolean edge_resistance_timeout (gpointer data)
static int apply_edge_resistance (MetaWindow *window, int old_pos, int new_pos, const MetaRectangle *old_rect, const MetaRectangle *new_rect, GArray *edges, ResistanceDataForAnEdge *resistance_data, GSourceFunc timeout_func, gboolean xdir, gboolean keyboard_op)
static int apply_edge_snapping (int old_pos, int new_pos, const MetaRectangle *new_rect, GArray *edges, gboolean xdir, gboolean keyboard_op)
static gboolean apply_edge_resistance_to_each_side (MetaDisplay *display, MetaWindow *window, const MetaRectangle *old_outer, MetaRectangle *new_outer, GSourceFunc timeout_func, gboolean auto_snap, gboolean keyboard_op, gboolean is_resize)
void meta_display_cleanup_edges (MetaDisplay *display)
static int stupid_sort_requiring_extra_pointer_dereference (gconstpointer a, gconstpointer b)
static void cache_edges (MetaDisplay *display, GList *window_edges, GList *xinerama_edges, GList *screen_edges)
static void initialize_grab_edge_resistance_data (MetaDisplay *display)
void meta_display_compute_resistance_and_snapping_edges (MetaDisplay *display)
void meta_window_edge_resistance_for_move (MetaWindow *window, int old_x, int old_y, int *new_x, int *new_y, GSourceFunc timeout_func, gboolean snap, gboolean is_keyboard_op)
void meta_window_edge_resistance_for_resize (MetaWindow *window, int old_width, int old_height, int *new_width, int *new_height, int gravity, GSourceFunc timeout_func, gboolean snap, gboolean is_keyboard_op)


Define Documentation

#define WINDOW_EDGES_RELEVANT ( window,
display   ) 

Value:

meta_window_should_be_showing (window) &&    \
  window->screen == display->grab_screen &&    \
  window         != display->grab_window &&    \
  window->type   != META_WINDOW_DESKTOP &&     \
  window->type   != META_WINDOW_MENU    &&     \
  window->type   != META_WINDOW_SPLASHSCREEN

Definition at line 33 of file edge-resistance.c.

Referenced by meta_display_compute_resistance_and_snapping_edges().


Typedef Documentation

Definition at line 51 of file edge-resistance.c.


Function Documentation

static int apply_edge_resistance ( MetaWindow window,
int  old_pos,
int  new_pos,
const MetaRectangle old_rect,
const MetaRectangle new_rect,
GArray *  edges,
ResistanceDataForAnEdge resistance_data,
GSourceFunc  timeout_func,
gboolean  xdir,
gboolean  keyboard_op 
) [static]

static gboolean apply_edge_resistance_to_each_side ( MetaDisplay display,
MetaWindow window,
const MetaRectangle old_outer,
MetaRectangle new_outer,
GSourceFunc  timeout_func,
gboolean  auto_snap,
gboolean  keyboard_op,
gboolean  is_resize 
) [static]

static int apply_edge_snapping ( int  old_pos,
int  new_pos,
const MetaRectangle new_rect,
GArray *  edges,
gboolean  xdir,
gboolean  keyboard_op 
) [static]

Definition at line 497 of file edge-resistance.c.

References find_nearest_position().

Referenced by apply_edge_resistance_to_each_side().

static void cache_edges ( MetaDisplay display,
GList *  window_edges,
GList *  xinerama_edges,
GList *  screen_edges 
) [static]

static gboolean edge_resistance_timeout ( gpointer  data  )  [static]

static int find_index_of_edge_near_position ( const GArray *  edges,
int  position,
gboolean  want_interval_min,
gboolean  horizontal 
) [static]

Definition at line 70 of file edge-resistance.c.

References _MetaEdge::rect, _MetaRectangle::x, and _MetaRectangle::y.

Referenced by apply_edge_resistance().

static int find_nearest_position ( const GArray *  edges,
int  position,
int  old_position,
const MetaRectangle new_rect,
gboolean  horizontal,
gboolean  only_forward 
) [static]

static void initialize_grab_edge_resistance_data ( MetaDisplay display  )  [static]

void meta_display_cleanup_edges ( MetaDisplay display  ) 

void meta_display_compute_resistance_and_snapping_edges ( MetaDisplay display  ) 

void meta_window_edge_resistance_for_move ( MetaWindow window,
int  old_x,
int  old_y,
int *  new_x,
int *  new_y,
GSourceFunc  timeout_func,
gboolean  snap,
gboolean  is_keyboard_op 
)

void meta_window_edge_resistance_for_resize ( MetaWindow window,
int  old_width,
int  old_height,
int *  new_width,
int *  new_height,
int  gravity,
GSourceFunc  timeout_func,
gboolean  snap,
gboolean  is_keyboard_op 
)

static gboolean movement_towards_edge ( MetaDirection  side,
int  increment 
) [static]

static gboolean points_on_same_side ( int  ref,
int  pt1,
int  pt2 
) [static]

Definition at line 173 of file edge-resistance.c.

Referenced by find_nearest_position().

static int stupid_sort_requiring_extra_pointer_dereference ( gconstpointer  a,
gconstpointer  b 
) [static]

Definition at line 753 of file edge-resistance.c.

References meta_rectangle_edge_cmp_ignore_type().

Referenced by cache_edges().


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