# Path: usf/loaders.py
#     BLEND_RGBA_MAX = None
# def get_gconfig():
# def _zoom(name, kwargs):
# def _expand(name, kwargs):
# def _crop(name, kwargs):
# def _lighten(name, kwargs):
# def _scale(name, kwargs):
# def _alpha(name, kwargs):
# def _load(name):
# def _reverse(name, kwargs):
# def _rotate(name, kwargs):
# def image(name, *args, **kwargs):
# def image_layer(first, second, pos=(0, 0)):
# def text(text_send, font, red=240, green=240, blue=240, alpha=250):
# def paragraph(text_send, font):
# def track(name):


import pygame
import logging
from usf import loaders
        self.hardshape_reverse = (
            loaders.image(self.image)[1][2]
                - self.hardshape[0] - self.hardshape[2],
            self.hardshape[1],
            self.hardshape[2],
            self.hardshape[3])

        self.agressivpoints = []
        self.agressivpoints_reverse = []


    def add_agressiv_point(self, (c_x, c_y), (vect_x, vect_y)):
        """
        add an agressive points of coords, and vector specified, to the list of
        agressivpoints of the frame
        """
        self.agressivpoints.append(((c_x, c_y), (vect_x, vect_y)))
        self.agressivpoints_reverse.append(
                ((self.hardshape[2] - c_x, c_y), (vect_x, vect_y)))


class PreciseTimedAnimation(object):
    """
    This object store the frames of an animation and update the image of the
    entity skin.
    """

    def __init__(self, frames, attribs, server=False):
        self.frames = frames
        self.image = frames[0].image

# Path: usf/loaders.py
#     BLEND_RGBA_MAX = None
# def get_gconfig():
# def _zoom(name, kwargs):
# def _expand(name, kwargs):
# def _crop(name, kwargs):
# def _lighten(name, kwargs):
# def _scale(name, kwargs):
# def _alpha(name, kwargs):
# def _load(name):
# def _reverse(name, kwargs):
# def _rotate(name, kwargs):
# def image(name, *args, **kwargs):
# def image_layer(first, second, pos=(0, 0)):
# def text(text_send, font, red=240, green=240, blue=240, alpha=250):
# def paragraph(text_send, font):
# def track(name):


# Path: usf/animations.py
import pygame
import logging
from usf import loaders

        self.hardshape_reverse = (
            loaders.image(self.image)[1][2]
                - self.hardshape[0] - self.hardshape[2],
            self.hardshape[1],
            self.hardshape[2],
            self.hardshape[3])

        self.agressivpoints = []
        self.agressivpoints_reverse = []


    def add_agressiv_point(self, (c_x, c_y), (vect_x, vect_y)):
        """
        add an agressive points of coords, and vector specified, to the list of
        agressivpoints of the frame
        """
        self.agressivpoints.append(((c_x, c_y), (vect_x, vect_y)))
        self.agressivpoints_reverse.append(
                ((self.hardshape[2] - c_x, c_y), (vect_x, vect_y)))


class PreciseTimedAnimation(object):
    """
    This object store the frames of an animation and update the image of the
    entity skin.
    """

    def __init__(self, frames, attribs, server=False):
        self.frames = frames
        self.image = frames[0].image

        self.rect = loaders.image(self.image, nodisplay=server)[1]