1 /* 2 * Copyright 2014 Vincent Sanders <vince@netsurf-browser.org> 3 * 4 * This file is part of NetSurf, http://www.netsurf-browser.org/ 5 * 6 * NetSurf is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; version 2 of the License. 9 * 10 * NetSurf is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 /** 20 * \file 21 * 22 * Interface to platform-specific search operations. 23 */ 24 25 #ifndef _NETSURF_SEARCH_H_ 26 #define _NETSURF_SEARCH_H_ 27 28 /** 29 * function table for page text search. 30 */ 31 struct gui_search_table { 32 /** 33 * Change the displayed search status. 34 * 35 * \param found search pattern matched in text 36 * \param p gui private data pointer provided with search callbacks 37 */ 38 void (*status)(bool found, void *p); 39 40 /** 41 * display hourglass while searching. 42 * 43 * \param active start/stop indicator 44 * \param p gui private data pointer provided with search callbacks 45 */ 46 void (*hourglass)(bool active, void *p); 47 48 /** 49 * add search string to recent searches list 50 * front has full liberty how to implement the bare notification; 51 * core gives no guarantee of the integrity of the string 52 * 53 * \param string search pattern 54 * \param p gui private data pointer provided with search callbacks 55 */ 56 void (*add_recent)(const char *string, void *p); 57 58 /** 59 * activate search forwards button in gui 60 * 61 * \param active activate/inactivate 62 * \param p gui private data pointer provided with search callbacks 63 */ 64 void (*forward_state)(bool active, void *p); 65 66 /** 67 * activate search back button in gui 68 * 69 * \param active activate/inactivate 70 * \param p gui private data pointer provided with search callbacks 71 */ 72 void (*back_state)(bool active, void *p); 73 }; 74 75 #endif 76