diff options
Diffstat (limited to 'src/analysis/exporter.c')
-rw-r--r-- | src/analysis/exporter.c | 281 |
1 files changed, 0 insertions, 281 deletions
diff --git a/src/analysis/exporter.c b/src/analysis/exporter.c deleted file mode 100644 index 40e9fe1..0000000 --- a/src/analysis/exporter.c +++ /dev/null @@ -1,281 +0,0 @@ - -/* OpenIDA - Outil d'analyse de fichiers binaires - * exporter.c - traduction humaine des lignes de rendus - * - * Copyright (C) 2009-2010 Cyrille Bagard - * - * This file is part of OpenIDA. - * - * OpenIDA 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 3 of the License, or - * (at your option) any later version. - * - * OpenIDA is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Foobar. If not, see <http://www.gnu.org/licenses/>. - */ - - -#include "exporter.h" - - -#include "exporter-int.h" - - - -/* Indique le type défini pour une exportation de contenu. */ -G_DEFINE_TYPE(GContentExporter, g_content_exporter, G_TYPE_OBJECT); - - -/****************************************************************************** -* * -* Paramètres : klass = classe à initialiser. * -* * -* Description : Initialise la classe des lignes de représentation. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_content_exporter_class_init(GContentExporterClass *klass) -{ - GdkScreen *screen; /* Ecran pour GDK */ - PangoFontDescription *font_desc; /* Police de caractère */ - PangoAttribute *attrib; /* Propriété de rendu */ - - /* Exportation vers un tampon de code */ - - screen = gdk_screen_get_default(); - - font_desc = pango_font_description_from_string("mono 10"); - - klass->context = gdk_pango_context_get_for_screen(screen); - - pango_context_set_font_description(klass->context, font_desc); - pango_context_set_base_dir(klass->context, PANGO_DIRECTION_LTR); - pango_context_set_language(klass->context, gtk_get_default_language()); - - /* RTT_RAW */ - - klass->attribs[RTT_RAW] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(klass->attribs[RTT_RAW], attrib); - - /* RTT_COMMENT */ - - klass->attribs[RTT_COMMENT] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(14335, 45311, 23551); - pango_attr_list_insert(klass->attribs[RTT_COMMENT], attrib); - - /* RTT_RAW_CODE */ - - klass->attribs[RTT_RAW_CODE] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(48895, 48895, 48895); - pango_attr_list_insert(klass->attribs[RTT_RAW_CODE], attrib); - - /* RTT_INSTRUCTION */ - - klass->attribs[RTT_INSTRUCTION] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(klass->attribs[RTT_INSTRUCTION], attrib); - - /* RTT_IMMEDIATE */ - - klass->attribs[RTT_IMMEDIATE] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(41215, 8447, 61695); - pango_attr_list_insert(klass->attribs[RTT_IMMEDIATE], attrib); - - /* RTT_REGISTER */ - - klass->attribs[RTT_REGISTER] = pango_attr_list_new(); - - //attrib = pango_attr_foreground_new(23551, 23551, 51455); - attrib = pango_attr_foreground_new(16895, 16895, 53759); - pango_attr_list_insert(klass->attribs[RTT_REGISTER], attrib); - - /* RTT_HOOK */ - - klass->attribs[RTT_HOOK] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(klass->attribs[RTT_HOOK], attrib); - - attrib = pango_attr_weight_new(PANGO_WEIGHT_BOLD); - pango_attr_list_insert(klass->attribs[RTT_HOOK], attrib); - - /* RTT_SIGNS */ - - klass->attribs[RTT_SIGNS] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(0, 0, 0); - pango_attr_list_insert(klass->attribs[RTT_SIGNS], attrib); - - attrib = pango_attr_weight_new(PANGO_WEIGHT_SEMIBOLD); - pango_attr_list_insert(klass->attribs[RTT_SIGNS], attrib); - - /* RTT_LTGT */ - - klass->attribs[RTT_LTGT] = pango_attr_list_new(); - - /* RTT_SECTION */ - - klass->attribs[RTT_SECTION] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(51200, 2560, 2560); - pango_attr_list_insert(klass->attribs[RTT_SECTION], attrib); - - /* - attrib = pango_attr_foreground_new(56832, 26880, 43008); - pango_attr_list_insert(klass->attribs[RTT_SECTION], attrib); - - attrib = pango_attr_weight_new(PANGO_WEIGHT_BOLD); - pango_attr_list_insert(klass->attribs[RTT_SECTION], attrib); - */ - - /* RTT_SEGMENT */ - - klass->attribs[RTT_SEGMENT] = pango_attr_list_new(); - - /* RTT_STRING */ - - klass->attribs[RTT_STRING] = pango_attr_list_new(); - - attrib = pango_attr_foreground_new(52224, 32256, 0); - pango_attr_list_insert(klass->attribs[RTT_STRING], attrib); - - /* RTT_VAR_NAME */ - - klass->attribs[RTT_VAR_NAME] = pango_attr_list_new(); - -} - - -/****************************************************************************** -* * -* Paramètres : exporter = instance à initialiser. * -* * -* Description : Initialise une instance de ligne de représentation. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_content_exporter_init(GContentExporter *exporter) -{ - -} - - -/****************************************************************************** -* * -* Paramètres : exporter = instance sachant exporter son contenu. * -* stream = flux ouvert en écriture. * -* text = texte à insérer dans l'existant. * -* length = taille du texte à traiter. * -* tag = type de décorateur à utiliser. * -* * -* Description : Ajoute du texte simple à un fichier ouvert en écriture. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_content_exporter_insert_text(GContentExporter *exporter, FILE *stream, const char *text, size_t length, RenderingTagType tag) -{ - size_t ret; /* Quantité d'octets écrite */ - - ret = fwrite(text, sizeof(char), length, stream); - if (ret != length) perror("fwrite"); - -} - - -/****************************************************************************** -* * -* Paramètres : exporter = instance sachant exporter son contenu. * -* buffer = espace où placer ledit contenu. * -* column = colonne de la ligne visée par l'insertion. * -* text = texte à insérer dans l'existant. * -* length = taille du texte à traiter. * -* type = type de décorateur à utiliser. * -* * -* Description : Ajoute du texte à un tampon de code via l'instance spécifiée.* -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_content_exporter_insert_into_buffer(GContentExporter *exporter, GBufferLine *buffer, BufferLineColumn column, const char *text, size_t length, RenderingTagType type) -{ - GContentExporterClass *class; /* Stockage de briques de base */ - GBufferSegment *segment; /* Portion de texte à ajouter */ - - class = G_CONTENT_EXPORTER_GET_CLASS(exporter); - - segment = g_buffer_segment_new(class->context, class->attribs[type], text, length); - g_buffer_line_add_segment(buffer, column, segment); - -} - - -/****************************************************************************** -* * -* Paramètres : exporter = instance sachant exporter son contenu. * -* options = options de rendu. * -* rendering = support effectif final des lignes de code. * -* stream = flux ouvert en écriture. * -* * -* Description : Ajoute du texte simple à un fichier ouvert en écriture. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_content_exporter_add_text(GContentExporter *exporter, GRenderingOptions *options, MainRendering rendering, FILE *stream) -{ - if (exporter->add_text != NULL) - exporter->add_text(exporter, options, rendering, stream); - -} - - -/****************************************************************************** -* * -* Paramètres : exporter = instance sachant exporter son contenu. * -* line = espace où placer ledit contenu. * -* options = options de rendu. * -* * -* Description : Ajoute à un tampon GLib le contenu de l'instance spécifiée. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_content_exporter_to_buffer(GContentExporter *exporter, GBufferLine *line, GRenderingOptions *options) -{ - if (exporter->export_buffer != NULL) - exporter->export_buffer(exporter, line, options); - -} |