rockbox/apps/plugins/text_viewer/tv_bookmark.h
Michael Giacomelli 990cbf302e Commit FS#11799 by Alexander Meshcheryakov. Improves the text viewer plugin to write to the disk less often, and correct several minor bugs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28833 a1c6a512-1295-4272-9138-f99709370657
2010-12-14 21:33:45 +00:00

101 lines
2.7 KiB
C

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2002 Gilles Roux
* 2003 Garrett Derner
* 2010 Yoshihisa Uchida
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef PLUGIN_TEXT_VIEWER_BOOKMARK_H
#define PLUGIN_TEXT_VIEWER_BOOKMARK_H
#include "tv_screen_pos.h"
/* stuff for the bookmarking */
/* Maximum amount of register possible bookmarks */
#define TV_MAX_BOOKMARKS 16
#define SERIALIZE_BOOKMARK_SIZE 8
/*
* initialize the bookmark module
*
* [In/Out] buf
* the start pointer of the buffer
*
* [In/Out] size
* buffer size
*
* return
* true initialize success
* false initialize failure
*/
bool tv_init_bookmark(unsigned char **buf, size_t *size);
/* finalize the bookmark module */
void tv_finalize_bookmark(void);
/*
* get the positions which registered bookmarks
*
* [Out] pos_array
* the array which store positions of all bookmarks
*
* return
* bookmark count
*/
int tv_get_bookmark_positions(struct tv_screen_pos *pos_array);
/*
* the function that a bookmark add when there is not a bookmark in the given position
* or the bookmark remove when there exist a bookmark in the given position.
*/
void tv_toggle_bookmark(void);
/*
* The menu that can select registered bookmarks is displayed, one is selected from
* among them, and moves to the page which selected bookmarks.
*/
void tv_select_bookmark(void);
/* creates system bookmark */
void tv_create_system_bookmark(void);
/*
* serialize the bookmark array
*
* [In] fd
* the file descripter which is stored the result.
*
* Return
* the size of the result
*/
int tv_serialize_bookmarks(unsigned char *buf);
/*
* deserialize the bookmark array
*
* [In] fd
* the file descripter which is stored the serialization of the bookmark array.
*
* Return
* true success
* false failure
*/
bool tv_deserialize_bookmarks(int fd);
#endif