class Interface: def __init__(self): # init graphic library self.graphics = Graphics() def main_interface(self, screen, book): ''' drawing the main interface to screen ''' # create background screen.fill(GREY) screen.blit(self.graphics.load_image(BG_IMG), (0, 0)) # create continue playing field self.graphics.clock(screen) self.graphics.seperator_line(screen, 120) self.graphics.continue_playback(screen, 200, 50, 300, 120, 20, book.get_cover(), book.get_title()) # add seperator line self.graphics.seperator_line(screen) # add button for library self.graphics.menu_button(screen, "New Book", 10, 190, 48, 48, 30, LIBRARY) # add exit button self.graphics.menu_button(screen, "", 265, 190, 48, 48, 30, EXIT) return screen def list_interface(self, screen, title, artist, playtime, cover): ''' generate screen for library interface ''' # create background screen.fill(GREY) screen.blit(self.graphics.load_image(BG_IMG), (0, 0)) # load button images back = self.graphics.load_image(BACK) left = self.graphics.load_image(LEFT) right = self.graphics.load_image(RIGHT) select = self.graphics.load_image(SELECT) # add seperator line self.graphics.seperator_line(screen) # draw navigation buttons to screen self.graphics.image_button(screen, back, 10, 190, 48, 48) self.graphics.image_button(screen, left, 155, 190, 48, 48) self.graphics.image_button(screen, right, 210, 190, 48, 48) self.graphics.image_button(screen, select, 265, 190, 48, 48) # update actual audio book informations self.graphics.title_field(screen, title, 10, 10, 300) self.graphics.artist_field(screen, artist, 10, 45) self.graphics.play_time_field(screen, playtime, 10, 100) self.graphics.cover_field(screen, cover, 140, 140, 155, 40) return screen def player_interface(self, screen, title, artist, actualChapter, totalChapter, playtime, music_pos, cover): ''' generate the interface for the audio player ''' # create background screen.fill(GREY) screen.blit(self.graphics.load_image(BG_IMG), (0, 0)) # load images for buttons back = self.graphics.load_image(BACK) backward = self.graphics.load_image(PREVIOUS) forward = self.graphics.load_image(NEXT) pause = self.graphics.load_image(PAUSE) play = self.graphics.load_image(PLAY) stop = self.graphics.load_image(STOP) # add seperator line self.graphics.seperator_line(screen) # draw navigation buttons to screen a self.graphics.image_button(screen, back, 10, 190, 48, 48) # draw playback buttons to screen self.graphics.image_button(screen, backward, 65, 190, 48, 48) self.graphics.image_button(screen, forward, 115, 190, 48, 48) self.graphics.image_button(screen, pause, 165, 190, 48, 48) self.graphics.image_button(screen, stop, 215, 190, 48, 48) self.graphics.image_button(screen, play, 265, 190, 48, 48) # update actual audio book informations self.graphics.title_field(screen, title, 10, 10, 300) self.graphics.artist_field(screen, artist, 10, 45) self.graphics.chapter_field(screen, actualChapter, totalChapter, 10, 100) self.graphics.cover_field(screen, cover, 80, 80, 220, 40) self.graphics.play_bar(screen, playtime, music_pos) return screen def exit_interface(self, screen): ''' draw an little exit screen containing an exit message ''' while True: # draw background screen.fill(GREY) # set a bigger font font = pygame.font.Font(None, 45) # draw exit message label = font.render("Good Bye!", 1, (WHITE)) screen.blit(label, (85, 100)) # update display pygame.display.flip() # show message for to seconds and exit program time.sleep(2) sys.exit(0)
class Interface: def __init__(self): # init graphic library self.graphics = Graphics() def main_interface(self, screen, book): ''' drawing the main interface to screen ''' # create background screen.fill(GREY) screen.blit(self.graphics.load_image(BG_IMG), (0, 0)) # create continue playing field self.graphics.clock(screen) self.graphics.seperator_line(screen, 120) self.graphics.continue_playback(screen, 200, 50, 300, 120, 20, book.get_cover(), book.get_title()) # add seperator line self.graphics.seperator_line(screen) # add button for library self.graphics.menu_button(screen, "New Book", 10, 190, 48, 48, 30, LIBRARY) # add exit button self.graphics.menu_button(screen, "", 265, 190, 48, 48, 30, EXIT) return screen def list_interface(self, screen, title, artist, playtime, cover): ''' generate screen for library interface ''' # create background screen.fill(GREY) screen.blit(self.graphics.load_image(BG_IMG), (0, 0)) # load button images back = self.graphics.load_image(BACK) left = self.graphics.load_image(LEFT) right = self.graphics.load_image(RIGHT) select = self.graphics.load_image(SELECT) # add seperator line self.graphics.seperator_line(screen) # draw navigation buttons to screen self.graphics.image_button(screen, back, 10, 190, 48, 48) self.graphics.image_button(screen, left, 155, 190, 48, 48) self.graphics.image_button(screen, right, 210, 190, 48, 48) self.graphics.image_button(screen, select, 265, 190, 48, 48) # update actual audio book informations self.graphics.title_field(screen, title, 10, 10, 300) self.graphics.artist_field(screen, artist, 10, 45) self.graphics.play_time_field(screen, playtime, 10, 100) self.graphics.cover_field(screen, cover, 140, 140, 155, 40) return screen def player_interface(self, screen, title, artist, actualChapter, totalChapter, playtime, music_pos, cover): ''' generate the interface for the audio player ''' # create background screen.fill(GREY) screen.blit(self.graphics.load_image(BG_IMG), (0, 0)) # load images for buttons back = self.graphics.load_image(BACK) backward = self.graphics.load_image(PREVIOUS) forward = self.graphics.load_image(NEXT) pause = self.graphics.load_image(PAUSE) play = self.graphics.load_image(PLAY) stop = self.graphics.load_image(STOP) # add seperator line self.graphics.seperator_line(screen) # draw navigation buttons to screen a self.graphics.image_button(screen, back, 10, 190, 48, 48) # draw playback buttons to screen self.graphics.image_button(screen, backward, 65, 190, 48, 48) self.graphics.image_button(screen, forward, 115, 190, 48, 48) self.graphics.image_button(screen, pause, 165, 190, 48, 48) self.graphics.image_button(screen, stop, 215, 190, 48, 48) self.graphics.image_button(screen, play, 265, 190, 48, 48) # update actual audio book informations self.graphics.title_field(screen, title, 10, 10, 300) self.graphics.artist_field(screen, artist, 10, 45) self.graphics.chapter_field(screen, actualChapter, totalChapter, 10, 100) self.graphics.cover_field(screen, cover, 80, 80, 220, 40) self.graphics.play_bar(screen, playtime, music_pos) return screen def exit_interface(self, screen): ''' draw an little exit screen containing an exit message ''' while True: # draw background screen.fill(GREY) # set a bigger font font = pygame.font.Font(None, 45) # draw exit message label = font.render("Good Bye!", 1, (WHITE)) screen.blit(label, (85,100)) # update display pygame.display.flip() # show message for to seconds and exit program time.sleep(2) sys.exit(0)