# Path: procgame/config.py
# def value_for_key_path(keypath, default=None):
# def load():


from dmd import *
from procgame import config
from random import randrange
    from movie import capPropId, getColorProp
    from movie import Movie
    from procgame.dmd import font, AnimFont, layers
import hdfont
import logging
    import cv2
    import cv2 as cv
    import time 
    import dmd
    import sdl2
    import procgame
        return self.nframe

class SolidLayer(Layer):
    def __init__(self, width, height, color, opaque=True):
        super(SolidLayer, self).__init__(opaque)
        self.frame = Frame(width,height)
        self.frame.fill_rect(0,0,width,height,color)#.append(255))
    def next_frame(self):
        return self.frame


class AnimatedLayer(Layer):
    """Collection of frames displayed sequentially, as an animation.  Optionally holds the last frame on-screen."""
    
    hold = True
    """``True`` if the last frame of the animation should be held on-screen indefinitely."""
    
    repeat = False
    """``True`` if the animation should be repeated indefinitely."""
    
    frame_time = 1
    """Number of frame times each frame should be shown on screen before advancing to the next frame.  The default is 1."""
    
    frame_pointer = 0
    """Index of the next frame to display.  Incremented by :meth:`next_frame`."""
    
    def __init__(self, opaque=False, hold=True, repeat=False, frame_time=1, frames=None):
        super(AnimatedLayer, self).__init__(opaque)
        self.hold = hold
        self.repeat = repeat

# Path: procgame/config.py
# def value_for_key_path(keypath, default=None):
# def load():


# Path: procgame/dmd/layers.py
from dmd import *
from procgame import config
from random import randrange
    from movie import capPropId, getColorProp
    from movie import Movie
    from procgame.dmd import font, AnimFont, layers
import hdfont
import logging
    import cv2
    import cv2 as cv
    import time 
    import dmd
    import sdl2
    import procgame

        return self.nframe

class SolidLayer(Layer):
    def __init__(self, width, height, color, opaque=True):
        super(SolidLayer, self).__init__(opaque)
        self.frame = Frame(width,height)
        self.frame.fill_rect(0,0,width,height,color)#.append(255))
    def next_frame(self):
        return self.frame


class AnimatedLayer(Layer):
    """Collection of frames displayed sequentially, as an animation.  Optionally holds the last frame on-screen."""
    
    hold = True
    """``True`` if the last frame of the animation should be held on-screen indefinitely."""
    
    repeat = False
    """``True`` if the animation should be repeated indefinitely."""
    
    frame_time = 1
    """Number of frame times each frame should be shown on screen before advancing to the next frame.  The default is 1."""
    
    frame_pointer = 0
    """Index of the next frame to display.  Incremented by :meth:`next_frame`."""
    
    def __init__(self, opaque=False, hold=True, repeat=False, frame_time=1, frames=None):
        super(AnimatedLayer, self).__init__(opaque)
        self.hold = hold
        self.repeat = repeat

        self.fps = config.value_for_key_path('dmd_framerate', None) 