src/liqcell_arrange.c File Reference

This arrange module contains functions for arranging clusters of visual cells. More...

#include "liqcell.h"
#include "liqcell_prop.h"

Defines

#define ABS(X)   ((X)<0 ? -(X) : (X))
#define SGN(X)   ((X)<0 ? -(1) : (1))

Functions

void liqcell_forceinboundparent (liqcell *self)
int liqcell_child_arrange_autoflow (liqcell *self)
int liqcell_child_arrange_nooverlap (liqcell *self, liqcell *currentselection)
int liqcell_child_arrange_makegrid_internal (liqcell *self, int viscolcount, int visrowcount, int flymode)
int liqcell_child_arrange_makegrid_fly (liqcell *self, int viscolcount, int visrowcount)
int liqcell_child_arrange_makegrid (liqcell *self, int viscolcount, int visrowcount)
int liqcell_child_arrange_easytile (liqcell *self)
int liqcell_child_arrange_easyrow (liqcell *self)
int liqcell_child_arrange_easycol (liqcell *self)


Detailed Description

This arrange module contains functions for arranging clusters of visual cells.

Author:
Gary Birkett Copyright (C) 2008 Gary Birkett

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


Function Documentation

int liqcell_child_arrange_easycol ( liqcell *  self  ) 

Arrange parent's child cells into a simple column

Parameters:
self The liqcell to arrange the children of
Returns:
int Success or Failure

References liqcell_geth(), liqcell_getlinkchild(), liqcell_getlinknext(), liqcell_getw(), liqcell_setpos(), and liqcell_setsize().

int liqcell_child_arrange_easyrow ( liqcell *  self  ) 

Arrange parent's child cells into a simple row

Parameters:
self The liqcell to arrange the children of
Returns:
int Success or Failure

References liqcell_geth(), liqcell_getlinkchild(), liqcell_getlinknext(), liqcell_getw(), liqcell_setpos(), and liqcell_setsize().

int liqcell_child_arrange_easytile ( liqcell *  self  ) 

Determine and set the number of columns and rows. Based on the number of children liqcells the parent has. This also set's childrens size and position in grid formation.

See also:
liqcell_child_arrange_makegrid()
Parameters:
self The parent cell whose children are to be arranged
Returns:
int Success or Failure

References liqapp_log(), liqcell_child_arrange_makegrid(), liqcell_getlinkchild(), and liqcell_getlinknext().

int liqcell_child_arrange_makegrid ( liqcell *  self,
int  viscolcount,
int  visrowcount 
)

Set the position of the child liqcell's in order to form a grid-like formation.

Parameters:
self The parent liqcell
viscolcount Column count
visrowcount Row count
Returns:
int Success or Failure

References liqcell_child_arrange_makegrid_internal().

Referenced by liqcell_child_arrange_easytile().

int liqcell_child_arrange_makegrid_internal ( liqcell *  self,
int  viscolcount,
int  visrowcount,
int  flymode 
)

Set the position of the child liqcell's in order to form a grid-like formation.

Parameters:
self The parent liqcell
viscolcount Column count
visrowcount Row count
Returns:
int finished 1 if at target, 0 if still in flight, -1 error

References liqapp_log(), liqcell_geth(), liqcell_getlinkchild(), liqcell_getlinknext(), liqcell_getw(), liqcell_movetowardsrect(), liqcell_propseti(), liqcell_setdirty(), liqcell_setpos(), and liqcell_setsize().

Referenced by liqcell_child_arrange_makegrid().


Generated on Wed Jul 22 13:20:12 2009 for libliqbase by  doxygen 1.5.9