1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License 6 * as published by the Free Software Foundation; either version 3 7 * of the License, or (at your option) any later version, with 8 * some exceptions, please read the COPYING file. 9 * 10 * gtkD 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 Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 /* 25 * Conversion parameters: 26 * inFile = cairo-Error-handling.html 27 * outPack = cairo 28 * outFile = Status 29 * strct = 30 * realStrct= 31 * ctorStrct= 32 * clss = Status 33 * interf = 34 * class Code: No 35 * interface Code: No 36 * template for: 37 * extend = 38 * implements: 39 * prefixes: 40 * - cairo_status_t 41 * - cairo_ 42 * omit structs: 43 * omit prefixes: 44 * omit code: 45 * omit signals: 46 * imports: 47 * - glib.Str 48 * structWrap: 49 * module aliases: 50 * local aliases: 51 * overrides: 52 */ 53 54 module cairo.Status; 55 56 public import gtkc.cairotypes; 57 58 private import gtkc.cairo; 59 private import glib.ConstructionException; 60 61 62 private import glib.Str; 63 64 65 66 67 /** 68 * Description 69 * Cairo uses a single status type to represent all kinds of errors. A status 70 * value of CAIRO_STATUS_SUCCESS represents no error and has an integer value 71 * of zero. All other status values represent an error. 72 * Cairo's error handling is designed to be easy to use and safe. All major 73 * cairo objects retain an error status internally which 74 * can be queried anytime by the users using cairo*_status() calls. In 75 * the mean time, it is safe to call all cairo functions normally even if the 76 * underlying object is in an error status. This means that no error handling 77 * code is required before or after each individual cairo function call. 78 */ 79 public class Status 80 { 81 82 /** 83 */ 84 85 /** 86 * Provides a human-readable description of a cairo_status_t. 87 * Params: 88 * status = a cairo status 89 * Returns: a string representation of the status 90 */ 91 public static string oString(cairo_status_t status) 92 { 93 // const char * cairo_status_to_string (cairo_status_t status); 94 return Str.toString(cairo_status_to_string(status)); 95 } 96 97 /** 98 * Resets all static data within cairo to its original state, 99 * (ie. identical to the state at the time of program invocation). For 100 * example, all caches within cairo will be flushed empty. 101 * This function is intended to be useful when using memory-checking 102 * tools such as valgrind. When valgrind's memcheck analyzes a 103 * cairo-using program without a call to cairo_debug_reset_static_data(), 104 * it will report all data reachable via cairo's static objects as 105 * "still reachable". Calling cairo_debug_reset_static_data() just prior 106 * to program termination will make it easier to get squeaky clean 107 * reports from valgrind. 108 * WARNING: It is only safe to call this function when there are no 109 * active cairo objects remaining, (ie. the appropriate destroy 110 * functions have been called as necessary). If there are active cairo 111 * objects, this call is likely to cause a crash, (eg. an assertion 112 * failure due to a hash table being destroyed when non-empty). 113 */ 114 public static void debugResetStaticData() 115 { 116 // void cairo_debug_reset_static_data (void); 117 cairo_debug_reset_static_data(); 118 } 119 }