Go to the documentation of this file.
00002 /*  $Id: DEFPROCS.H 424 2005-01-24 03:48:34Z terry_teague $    */
00004 /* This header file defines all the default hooks in a Paige structure.
00005 This includes both format functions (for style and paragraph) as well as
00006 "global" functions that apply to the whole Paige object. The declarations
00007 in this header are prototypes only, the actual functions will be found
00008 in different (and hopefully appropriate) source files. */
00010 #ifndef DEFPROCS_H
00011 #define DEFPROCS_H
00013 #include "PAIGE.H"
00015 #ifdef __cplusplus
00016 extern  "C" {
00017 #endif
00019 extern PG_PASCAL (void) pgLineMeasureProc (paige_rec_ptr pg, pg_measure_ptr line_info);
00020 extern PG_PASCAL (void) pgLineAdjustProc (paige_rec_ptr pg, pg_measure_ptr measure_info,
00021         point_start_ptr line_starts, pg_short_t num_starts,
00022         rectangle_ptr line_fit, par_info_ptr par_format);
00023 extern PG_PASCAL (pg_boolean) pgLineValidate (paige_rec_ptr pg, pg_measure_ptr measure_info);
00024 extern PG_PASCAL (long) pgLineParse (paige_rec_ptr pg, pg_measure_ptr measure_info,
00025         pg_char_ptr text, point_start_ptr line_start, long global_offset, long remaining_length);
00026 extern PG_PASCAL (void) pgInitLineProc (paige_rec_ptr pg, pg_measure_ptr measure_info,
00027         short init_verb);
00028 extern PG_PASCAL (void) pgExamineClickProc (paige_rec_ptr pg, short click_verb,
00029         short modifiers, long refcon_return, t_select_ptr begin_select,
00030         t_select_ptr end_select);
00031 extern PG_PASCAL (pg_boolean) pgHyphenateProc (paige_rec_ptr pg, text_block_ptr block,
00032         style_walk_ptr styles, pg_char_ptr block_text, long line_begin,
00033         long PG_FAR *line_end, long PG_FAR *positions, short PG_FAR *char_types,
00034         long PG_FAR *line_width_extra, pg_boolean zero_length_ok);
00035 extern PG_PASCAL (void) pgTextIncrementProc (paige_rec_ptr pg, long base_offset,
00036         long increment_amount);
00037 extern PG_PASCAL (void) pgHiliteProc (paige_rec_ptr pg, t_select_ptr selections,
00038         pg_short_t select_qty, shape_ref rgn);
00039 extern PG_PASCAL (void) pgDrawHiliteProc (paige_rec_ptr pg, shape_ref rgn);
00040 extern PG_PASCAL (void) pgDrawCursorProc (paige_rec_ptr pg, t_select_ptr select,
00041         short verb);
00042 extern PG_PASCAL (void) pgIdleProc (paige_rec_ptr pg, short verb);
00043 extern PG_PASCAL (void) pgTextLoadProc (paige_rec_ptr pg, text_block_ptr block);
00044 extern PG_PASCAL (long) pgTextBreakProc (paige_rec_ptr pg, text_block_ptr block);
00045 extern PG_PASCAL (void) pgPt2OffsetProc (paige_rec_ptr pg, co_ordinate_ptr point,
00046         short conversion_info, t_select_ptr selection);
00047 extern PG_PASCAL (void) pgSmartQuotesProc (paige_rec_ptr pg, long insert_offset,
00048         long info_bits, pg_char_ptr char_to_insert, short PG_FAR *insert_length);
00049 extern PG_PASCAL (void) pgModifyContainerProc (paige_rec_ptr pg, pg_short_t container_num,
00050         rectangle_ptr container, pg_scale_ptr scaling, co_ordinate_ptr screen_extra,
00051         short verb, void PG_FAR *misc_info);
00052 extern PG_PASCAL (pg_boolean) pgParBoundaryProc (paige_rec_ptr pg, select_pair_ptr boundary);
00053 extern PG_PASCAL (void) pgInitFont (paige_rec_ptr pg, font_info_ptr info);
00054 extern PG_PASCAL (void) pgStyleInitProc (paige_rec_ptr pg, style_info_ptr style,
00055             font_info_ptr font);
00056 extern PG_PASCAL (void) pgInstallFont (paige_rec_ptr pg, style_info_ptr the_style,
00057         font_info_ptr the_font, style_info_ptr composite_style, pg_boolean include_offscreen);
00058 extern PG_PASCAL (void) pgSpecialCharProc (paige_rec_ptr pg, style_walk_ptr walker, pg_char_ptr data,
00059         pg_short_t offset, pg_short_t length, draw_points_ptr draw_position,
00060         long extra, short draw_mode);
00061 extern PG_PASCAL (void) pgAutoScrollProc (paige_rec_ptr pg, short h_verb, short v_verb,
00062         co_ordinate_ptr mouse_point, short draw_mode);
00063 extern PG_PASCAL (void) pgScrollAdjustProc (paige_rec_ptr pg, long amount_h,
00064         long amount_v, short draw_mode);
00065 extern PG_PASCAL (void) pgDrawScrollProc (paige_rec_ptr pg, shape_ref update_rgn,
00066         co_ordinate_ptr scroll_pos, pg_boolean post_call);
00067 extern PG_PASCAL (void) pgDrawPageProc (paige_rec_ptr pg, shape_ptr page_shape,
00068         pg_short_t r_qty, pg_short_t page_num, co_ordinate_ptr vis_offset,
00069         short draw_mode_used, short call_order);
00070 extern PG_PASCAL (void) pgBitmapModifyProc (paige_rec_ptr pg, graf_device_ptr bits_port,
00071         pg_boolean post_call, rectangle_ptr bits_rect, co_ordinate_ptr screen_offset,
00072         long text_offset);
00073 extern PG_PASCAL (void) pgWaitProc (paige_rec_ptr pg, short wait_verb, long progress_ctr,
00074         long completion_ctr);
00075 extern PG_PASCAL (void) pgMeasureProc (paige_rec_ptr pg, style_walk_ptr walker,
00076         pg_char_ptr data, long length, pg_short_t slop, long PG_FAR *positions,
00077         short PG_FAR *types, short measure_verb, long current_offset, pg_boolean scale_widths,
00078         short call_order);
00079 extern PG_PASCAL (pg_boolean) pgMergeProc (paige_rec_ptr pg, style_info_ptr style, pg_char_ptr text_data,
00080         pg_short_t length, text_ref merged_data, long ref_con);
00081 extern PG_PASCAL (long) pgTrackCtlProc (paige_rec_ptr pg, short verb,
00082         t_select_ptr first_select, t_select_ptr last_select, style_walk_ptr styles,
00083         pg_char_ptr associated_text, point_start_ptr bounds_info, short modifiers,
00084         long track_refcon);
00085 extern PG_PASCAL (long) pgCharInfoProc (paige_rec_ptr pg, style_walk_ptr style_walker,
00086         pg_char_ptr data, long block_offset, long offset_begin, long offset_end, long char_offset,
00087         long mask_bits);
00088 extern PG_PASCAL (void) pgDrawProc (paige_rec_ptr pg, style_walk_ptr walker, pg_char_ptr data,
00089         pg_short_t offset, pg_short_t length, draw_points_ptr draw_position,
00090         long extra, short draw_mode);
00091 extern PG_PASCAL (void) pgDupStyleProc (paige_rec_ptr src_pg, paige_rec_ptr target_pg,
00092         short reason_verb, format_ref all_styles, style_info_ptr style);
00093 extern PG_PASCAL (void) pgDeleteStyleProc (paige_rec_ptr pg, pg_globals_ptr globals,
00094         short reason_verb, format_ref all_styles, style_info_ptr style);
00095 extern PG_PASCAL (void) pgAlterStyleProc (paige_rec_ptr pg, style_info_ptr old_style,
00096         style_info_ptr new_style, style_info_ptr style_mask);
00097 extern PG_PASCAL (void) pgSaveStyleProc (paige_rec_ptr pg, style_info_ptr style_to_save);
00098 extern PG_PASCAL (void) pgActivateStyleProc (paige_rec_ptr pg, style_info_ptr style,
00099         select_pair_ptr text_range, pg_char_ptr text, short front_back_state,
00100         short perm_state, pg_boolean show_hilite);
00101 extern PG_PASCAL (void) pgCopyTextProc (paige_rec_ptr src_pg, paige_rec_ptr target_pg,
00102         short reason_verb, style_info_ptr style, long style_position,
00103         long text_position, pg_char_ptr text, long length);
00104 extern PG_PASCAL (void) pgDeleteTextProc (paige_rec_ptr pg, short reason_verb,
00105         style_info_ptr style, long style_position, long text_position,
00106         pg_char_ptr text, long length);
00107 extern PG_PASCAL (pg_boolean) pgSetupInsertProc (paige_rec_ptr pg, style_info_ptr style,
00108         long position);
00109 extern PG_PASCAL (void) pgLineGlitterProc (paige_rec_ptr pg, style_walk_ptr walker,
00110         long line_number, long par_number, text_block_ptr block, point_start_ptr first_line,
00111         point_start_ptr last_line, point_start_ptr previous_first, point_start_ptr previous_last,
00112         co_ordinate_ptr offset_extra, rectangle_ptr vis_rect, short call_verb);
00113 extern PG_PASCAL (long) pgTabMeasureProc (paige_rec_ptr pg, style_walk_ptr walker, long cur_pos,
00114         long cur_text_pos, long line_left, pg_char_ptr text, pg_short_t text_length,
00115         long PG_FAR *char_positions, pg_short_t PG_FAR *tab_rec_info);
00116 extern PG_PASCAL (void) pgTabDrawProc (paige_rec_ptr pg, style_walk_ptr walker, tab_stop_ptr tab,
00117         draw_points_ptr draw_position);
00118 extern PG_PASCAL (void) pgDupParProc (paige_rec_ptr src_pg, paige_rec_ptr target_pg,
00119         short reason_verb, par_ref all_pars, par_info_ptr par_style);
00120 extern PG_PASCAL (void) pgDeleteParProc (paige_rec_ptr pg, short reason_verb,
00121         par_ref all_pars, par_info_ptr par_style);
00122 extern PG_PASCAL (void) pgAlterParProc (paige_rec_ptr pg, par_info_ptr old_par,
00123         par_info_ptr new_par);
00124 extern PG_PASCAL (void) pgEnhanceUndo (paige_rec_ptr pg, pg_undo_ptr undo_rec,
00125         void PG_FAR *insert_ref, short action_to_take);
00126 extern PG_PASCAL (void) pgPostPaginateProc (paige_rec_ptr pg, text_block_ptr block,
00127         smart_update_ptr update_info, long lineshift_begin, long lineshift_end,
00128         short action_taken_verb);
00129 extern PG_PASCAL (void) pgSetGrafDevice (paige_rec_ptr pg, short verb, graf_device_ptr device,
00130             color_value_ptr bk_color);
00131 extern PG_PASCAL (void) pgPageModify  (paige_rec_ptr pg, long page_num, rectangle_ptr margins);
00132 extern PG_PASCAL (long) pgBreakInfoProc (paige_rec_ptr pg, pg_char_ptr the_char, short charsize,
00133         style_info_ptr style, font_info_ptr font, long current_settings);
00134 extern PG_PASCAL (pg_word) pgCharClassProc (paige_rec_ptr pg, pg_char_ptr the_char, short charsize,
00135         style_info_ptr style, font_info_ptr font);
00136 extern PG_PASCAL (short) pgInsertQuery (paige_rec_ptr pg, pg_char_ptr the_char, short charsize);
00138 /* Default file functions */
00140 extern PG_PASCAL (pg_boolean) pgReadHandlerProc (paige_rec_ptr pg, pg_file_key key, memory_ref key_data,
00141         long PG_FAR *element_info, void PG_FAR *aux_data, long PG_FAR *unpacked_size);
00142 extern PG_PASCAL (pg_boolean) pgWriteHandlerProc (paige_rec_ptr pg, pg_file_key key, memory_ref key_data,
00143         long PG_FAR *element_info, void PG_FAR *aux_data, long PG_FAR *unpacked_size);
00144 extern PG_PASCAL (pg_boolean) pgDummyReadHandler (paige_rec_ptr pg, pg_file_key key, memory_ref key_data,
00145         long PG_FAR *element_info, void PG_FAR *aux_data, long PG_FAR *unpacked_size);
00146 extern PG_PASCAL (pg_boolean) pgDummyWriteHandler (paige_rec_ptr pg, pg_file_key key, memory_ref key_data,
00147         long PG_FAR *element_info, void PG_FAR *aux_data, long PG_FAR *unpacked_size);
00148 extern PG_PASCAL (pg_error) pgStandardReadProc (void PG_FAR *data, short verb, long PG_FAR *position,
00149         long PG_FAR *data_size, file_ref filemap);
00150 extern PG_PASCAL (pg_error) pgStandardWriteProc (void PG_FAR *data, short verb, long PG_FAR *position,
00151         long PG_FAR *data_size, file_ref filemap);
00152 extern PG_PASCAL (pg_error) pgOSReadProc (void PG_FAR *data, short verb, long PG_FAR *position,
00153         long PG_FAR *data_size, file_ref filemap);
00154 extern PG_PASCAL (pg_error) pgOSWriteProc (void PG_FAR *data, short verb, long PG_FAR *position,
00155         long PG_FAR *data_size, file_ref filemap);
00156 extern PG_PASCAL (pg_error) pgScrapMemoryWrite (void PG_FAR *data, short verb, long PG_FAR *position,
00157         long PG_FAR *data_size, file_ref filemap);
00158 extern PG_PASCAL (pg_error) pgScrapMemoryRead (void PG_FAR *data, short verb, long PG_FAR *position,
00159         long PG_FAR *data_size, file_ref filemap);
00161 /* Default extend and misc. procs */
00163 extern PG_PASCAL (void) pgExtendProc (void PG_FAR *param, short verb);
00164 extern PG_PASCAL (long) pgCacheFree (pgm_globals_ptr mem_globals, memory_ref dont_free, long desired_free);
00167 #ifdef __cplusplus
00168         }
00169 #endif
00171 #endif

Generated on Wed May 31 18:19:46 2006 for frontierkernel 10.1.10a by  doxygen 1.4.6