root/src/fill.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. newSWFFill
  2. SWFFill_getFillStyle
  3. destroySWFFill
  4. SWFFill_skewX
  5. SWFFill_skewXTo
  6. SWFFill_skewY
  7. SWFFill_skewYTo
  8. SWFFill_scaleX
  9. SWFFill_scaleXTo
  10. SWFFill_scaleY
  11. SWFFill_scaleYTo
  12. SWFFill_scaleXY
  13. SWFFill_scaleXYTo
  14. SWFFill_rotate
  15. SWFFill_rotateTo
  16. SWFFill_move
  17. SWFFill_moveTo
  18. SWFFill_setMatrix

/*
    Ming, an SWF output library
    Copyright (C) 2002  Opaque Industries - http://www.opaque.net/

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library 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
    Lesser General Public License for more details.

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

#include "fill.h"
#include "position.h"
#include "libming.h"

struct SWFFill_s
{
        SWFFillStyle fillstyle;
        SWFPosition position;
#if TRACK_ALLOCS
        /* memory node for garbage collection */
        mem_node *gcnode;
#endif
};


SWFFill
newSWFFill(SWFFillStyle fillstyle)
{
        SWFFill fill;
        if(fillstyle == NULL)
                return NULL;

        fill = (SWFFill)malloc(sizeof(struct SWFFill_s));

        fill->fillstyle = fillstyle;
        fill->position = newSWFPosition(SWFFillStyle_getMatrix(fill->fillstyle));

#if TRACK_ALLOCS
        fill->gcnode = ming_gc_add_node(fill, (dtorfunctype) destroySWFFill);
#endif

        return fill;
}


SWFFillStyle
SWFFill_getFillStyle(SWFFill fill)
{
        return fill->fillstyle;
}


void
destroySWFFill(SWFFill fill)
{
        destroySWFPosition(fill->position);
#if TRACK_ALLOCS
        ming_gc_remove_node(fill->gcnode);
#endif
        free(fill);
}


void
SWFFill_skewX(SWFFill fill, float x)
{
        SWFPosition_skewX(fill->position, x);
}


void
SWFFill_skewXTo(SWFFill fill, float x)
{
        SWFPosition_skewXTo(fill->position, x);
}


void
SWFFill_skewY(SWFFill fill, float y)
{
        SWFPosition_skewY(fill->position, y);
}


void
SWFFill_skewYTo(SWFFill fill, float y)
{
        SWFPosition_skewYTo(fill->position, y);
}


void
SWFFill_scaleX(SWFFill fill, float x)
{
        SWFPosition_scaleX(fill->position, x);
}


void
SWFFill_scaleXTo(SWFFill fill, float x)
{
        SWFPosition_scaleXTo(fill->position, x);
}


void
SWFFill_scaleY(SWFFill fill, float y)
{
        SWFPosition_scaleY(fill->position, y);
}


void
SWFFill_scaleYTo(SWFFill fill, float y)
{
        SWFPosition_scaleYTo(fill->position, y);
}


void
SWFFill_scaleXY(SWFFill fill, float x, float y)
{
        SWFPosition_scaleXY(fill->position, x, y);
}


void
SWFFill_scaleXYTo(SWFFill fill, float x, float y)
{
        SWFPosition_scaleXYTo(fill->position, x, y);
}


void
SWFFill_rotate(SWFFill fill, float degrees)
{
        SWFPosition_rotate(fill->position, degrees);
}


void
SWFFill_rotateTo(SWFFill fill, float degrees)
{
        SWFPosition_rotateTo(fill->position, degrees);
}


void
SWFFill_move(SWFFill fill, float x, float y)
{
        SWFPosition_move(fill->position, x, y);
}


void
SWFFill_moveTo(SWFFill fill, float x, float y)
{
        SWFPosition_moveTo(fill->position, x, y);
}


void
SWFFill_setMatrix(SWFFill fill, float a, float b,
                                                                        float c, float d, float x, float y)
{
        SWFPosition_setMatrix(fill->position, a, b, c, d, x, y);
}


/*
 * Local variables:
 * tab-width: 2
 * c-basic-offset: 2
 * End:
 */

/* [<][>][^][v][top][bottom][index][help] */