
Auteur : Walker
| | Version : 20/02/2008 | | |
| |
ImportC "/usr/lib/libgtk-x11-2.0.so"
gtk_print_operation_new()
gtk_print_operation_run(*op, action, *parent, *error)
gtk_print_settings_new()
gtk_print_operation_set_print_settings(*print,*settings)
gtk_print_context_create_pango_layout(*context)
pango_layout_set_text(layout,txt.p-utf8,length)
pango_font_description_from_string(font.p-utf8)
pango_font_description_free(desc)
pango_layout_set_font_description(layout,desc)
cairo_move_to(cr,x,y)
pango_cairo_show_layout(cr,layout)
gtk_print_context_get_cairo_context(context)
gtk_print_operation_set_n_pages(*op,n_pages)
gtk_print_operation_set_unit(*op,unit)
gtk_print_operation_get_status_string (*op)
gtk_print_operation_get_status (*op)
gtk_print_operation_is_finished (*op)
EndImport
Enumeration
#GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG
#GTK_PRINT_OPERATION_ACTION_PRINT
#GTK_PRINT_OPERATION_ACTION_PREVIEW
#GTK_PRINT_OPERATION_ACTION_EXPORT
EndEnumeration
Enumeration
#GTK_PRINT_OPERATION_RESULT_ERROR
#GTK_PRINT_OPERATION_RESULT_APPLY
#GTK_PRINT_OPERATION_RESULT_CANCEL
#GTK_PRINT_OPERATION_RESULT_IN_PROGRESS
EndEnumeration
Enumeration
#GTK_PRINT_STATUS_INITIAL
#GTK_PRINT_STATUS_PREPARING
#GTK_PRINT_STATUS_GENERATING_DATA
#GTK_PRINT_STATUS_SENDING_DATA
#GTK_PRINT_STATUS_PENDING
#GTK_PRINT_STATUS_PENDING_ISSUE
#GTK_PRINT_STATUS_PRINTING
#GTK_PRINT_STATUS_FINISHED
#GTK_PRINT_STATUS_FINISHED_ABORTED
EndEnumeration
Enumeration
#GTK_UNIT_PIXEL
#GTK_UNIT_POINTS
#GTK_UNIT_INCH
#GTK_UNIT_MM
EndEnumeration
ProcedureCDLL begin_print(*op,context, user_data)
gtk_print_operation_set_n_pages(*op,1)
EndProcedure
ProcedureCDLL draw_page(*op,context,page_nr,user_data)
gtk_print_operation_set_unit (*op, #GTK_UNIT_MM)
cr= gtk_print_context_get_cairo_context(context)
layout = gtk_print_context_create_pango_layout (context)
pango_layout_set_text (layout, "Hello World!", -1)
desc = pango_font_description_from_string ("sans 28")
pango_layout_set_font_description (layout, desc)
pango_font_description_free (desc)
pango_cairo_show_layout (cr, layout)
g_object_unref_(layout)
EndProcedure
ProcedureCDLL print_preview(*op,*preview, *context, *parent, user_data)
EndProcedure
ProcedureCDLL end_print(*op, *context, user_data)
EndProcedure
OpenWindow(0,0,0,400,400,"printtest",#PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
ButtonGadget(0,10,50,100,30,"Print")
CloseGadgetList()
Repeat
event=WaitWindowEvent()
If event=#PB_Event_Gadget
If EventGadget()=0
print=gtk_print_operation_new()
g_signal_connect_(print, "begin-print", @begin_print(), user_data)
g_signal_connect_(print, "draw-page", @draw_page(), user_data)
g_signal_connect_(print, "end-print", @end_print(), user_data)
res=gtk_print_operation_run(print,#GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,WindowID(0),*error)
EndIf
EndIf
Until event=#PB_Event_CloseWindow
|
|
Consultez les autres pages sources
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2008
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|