606 *
607 * - to activate debug mode to enforce single-stepping,
608 *
609 * - to call the main loop function to interpret the next opcode, and
610 *
611 * - to show the changed context to the user.
612 *
613 * An example for such a main loop function is `TT_RunIns` (declared in
614 * FreeType's internal header file `src/truetype/ttinterp.h`).
615 *
616 * Have a look at the source code of the `ttdebug` FreeType demo program
617 * for an example of a drop-in replacement.
618 *
619 * @inout:
620 * arg ::
621 * A typeless pointer, to be cast to the main loop function's data
622 * structure (which depends on the font module). For TrueType fonts
623 * it is bytecode interpreter's execution context, `TT_ExecContext`,
624 * which is declared in FreeType's internal header file `tttypes.h`.
625 */
626 typedef void
627 (*FT_DebugHook_Func)( void* arg );
628
629
630 /**************************************************************************
631 *
632 * @enum:
633 * FT_DEBUG_HOOK_XXX
634 *
635 * @description:
636 * A list of named debug hook indices.
637 *
638 * @values:
639 * FT_DEBUG_HOOK_TRUETYPE::
640 * This hook index identifies the TrueType bytecode debugger.
641 */
642 #define FT_DEBUG_HOOK_TRUETYPE 0
643
644
645 /**************************************************************************
646 *
|
606 *
607 * - to activate debug mode to enforce single-stepping,
608 *
609 * - to call the main loop function to interpret the next opcode, and
610 *
611 * - to show the changed context to the user.
612 *
613 * An example for such a main loop function is `TT_RunIns` (declared in
614 * FreeType's internal header file `src/truetype/ttinterp.h`).
615 *
616 * Have a look at the source code of the `ttdebug` FreeType demo program
617 * for an example of a drop-in replacement.
618 *
619 * @inout:
620 * arg ::
621 * A typeless pointer, to be cast to the main loop function's data
622 * structure (which depends on the font module). For TrueType fonts
623 * it is bytecode interpreter's execution context, `TT_ExecContext`,
624 * which is declared in FreeType's internal header file `tttypes.h`.
625 */
626 typedef FT_Error
627 (*FT_DebugHook_Func)( void* arg );
628
629
630 /**************************************************************************
631 *
632 * @enum:
633 * FT_DEBUG_HOOK_XXX
634 *
635 * @description:
636 * A list of named debug hook indices.
637 *
638 * @values:
639 * FT_DEBUG_HOOK_TRUETYPE::
640 * This hook index identifies the TrueType bytecode debugger.
641 */
642 #define FT_DEBUG_HOOK_TRUETYPE 0
643
644
645 /**************************************************************************
646 *
|