Debugging Version
When you install the debugging version, QuickDraw GX posts errors, warnings, and notices in addition to those posted by the non-debugging version. The debugging analysis and resulting number of errors, warnings, and notices posted is far more extensive than can be provided by the non-debugging version of QuickDraw GX. As a result, the debugging version executes significantly slower than the non-debugging version.
The errors and warnings posted by both the debugging and non-debugging versions of QuickDraw GX are listed in the sections "Errors" beginning on page 3-6 and "Warnings" beginning on page 3-10. The errors, warnings, and notices described in the following sections are posted only in the debugging version of QuickDraw GX.
The debugging version also provides a number of useful functions that you can use to analyze your code and that assist in determining the cause of a wide variety of problems. These are described in the section "Using Errors, Warnings, and Notices" beginning on page 3-30.
The debugging version of QuickDraw GX also provides validation functions and GraphicsBug so that you can examine the details of each graphics object. These are described in the chapter "QuickDraw GX Debugging" in this book.
Errors
This section describes the errors that the debugging version of QuickDraw GX may post. QuickDraw GX debugging errors can be grouped into the following categories:
- internal errors
- font parameter errors
- bad parameter errors
- restricted access errors
- wrong type or bad reference errors
- validation errors
Table 3-16 gives the debugging error number range
Table 3-16 Debugging error number range
Number | Name |
-27700 | gxFirstSystemDebuggingError |
-27000 | gxLastSystemError |
.
Table 3-17 lists the internal debugging errors
Table 3-17 Internal debugging errors
Number | Name |
-27700 | functionality_unimplemented |
-27699 | clip_to_frame_shape_unimplemented |
.
Table 3-18 lists the font parameter debugging errors.
Table 3-18 Font parameter debugging errors
Number | Name |
-27698 | illegal_font_storage_type |
-27697 | illegal_font_storage_reference |
-27696 | illegal_font_attributes |
QuickDraw GX bad parameter errors are posted when a required parameter is out of range, invalid, or is passed with the value of nil
. Table 3-19 lists the bad parameter debugging errors.
Table 3-19 Bad parameter debugging errors
Number | Name |
-27695 | parameter_out_of_range |
-27694 | inconsistent_parameters |
-27693 | index_is_less_than_zero |
-27692 | index_is_less_than_one |
-27691 | count_is_less_than_zero |
-27690 | count_is_less_than_one |
-27689 | contour_is_less_than_zero |
-27688 | length_is_less_than_zero |
-27687 | invalid_client_reference |
-27686 | invalid_graphics_heap_start_pointer |
-27685 | invalid_nongraphic_globals_pointer |
-27684 | colorSpace_out_of_range |
-27683 | pattern_lattice_out_of_range |
-27682 | frequency_parameter_out_of_range |
-27681 | tinting_parameter_out_of_range |
-27680 | method_parameter_out_of_range |
-27679 | space_may_not_be_indexed |
-27678 | glyph_index_too_small |
-27677 | no_glyphs_added_to_font |
-27676 | glyph_not_added_to_font |
-27675 | point_does_not_intersect_bitmap |
-27674 | required_font_table_not_present |
-27673 | unknown_font_table_format |
-27672 | shapeFill_not_allowed |
-27671 | inverseFill_face_must_set_clipLayer_flag |
-27670 | invalid_transferMode_colorSpace |
-27669 | colorProfile_must_be_nil |
|
-27668 | bitmap_pixel_size_must_be_1 |
-27667 | empty_shape_not_allowed |
-27666 | ignorePlatformShape_not_allowed |
-27665 | nil_style_in_glyph_not_allowed |
-27664 | complex_glyph_style_not_allowed |
-27663 | invalid_mapping |
-27662 | cannot_set_item_shapes_to_nil |
-27661 | cannot_use_original_item_shapes_when_growing_picture |
-27660 | cannot_add_unspecified_new_glyphs |
-27659 | cannot_dispose_locked_tag |
-27658 | cannot_dispose_locked_shape |
Table 3-20 lists the QuickDraw GX restricted access debugging errors
Table 3-20 Restricted access debugging errors
Number | Name |
-27657 | shape_access_not_allowed |
-27656 | colorSet_access_restricted |
-27655 | colorProfile_access_restricted |
-27654 | tag_access_restricted |
-27653 | viewDevice_access_restricted |
-27652 | graphic_type_does_not_have_a_structure |
-27651 | style_run_array_does_not_match_number_of_characters |
-27650 | rectangles_cannot_be_inserted_into |
-27649 | unknown_graphics_heap |
-27648 | graphics_routine_selector_is_obsolete |
-27647 | cannot_set_graphics_client_memory_without_setting_size |
-27646 | graphics_client_memory_too_small |
-27645 | graphics_client_memory_is_already_allocated |
-27644 | viewPort_is_a_window |
.
Table 3-21 lists the QuickDraw GX wrong type and bad reference debugging errors.
Table 3-21 Wrong type and bad reference debugging errors
Number | Name |
-27643 | illegal_type_for_shape |
-27642 | shape_does_not_contain_a_bitmap |
-27641 | shape_does_not_contain_text |
-27640 | picture_expected |
-27639 | bitmap_is_not_resizable |
-27638 | shape_may_not_be_a_bitmap |
-27637 | shape__may_not_be_a_picture |
-27636 | graphic_type_does_not_contain_points |
-27635 | graphic_type_does_not_have_multiple_contours |
-27634 | graphic_type_cannot_be_mapped |
-27633 | graphic_type_cannot_be_moved |
-27632 | graphic_type_cannot_be_scaled |
-27631 | graphic_type_cannot_be_rotated |
-27630 | graphic_type_cannot_be_skewed |
-27629 | graphic_type_cannot_be_reset |
-27628 | graphic_type_cannot_be_dashed |
-27627 | graphic_type_cannot_be_reduced |
-27626 | graphic_type_cannot_be_inset |
-27625 | shape_cannot_be_inverted |
-27624 | shape_does_not_have_area |
-27623 | shape_does not_have_length |
-27622 | first_glyph_advance_must_be_absolute |
-27621 | picture_cannot_contain_itself |
-27620 | viewPort_cannot_contain_itself |
-27619 | cannot_set_unique_items_attribute_when_picture_contains_items |
-27618 | layer_style_cannot_contain_a_face |
-27617 | layer_glyph_shape_cannot_contain_nil_styles |
QuickDraw GX posts validation errors only when QuickDraw GX validation error functions activate validation error checking. Validation error checking is discussed the chapter "QuickDraw GX Debugging" in this book. Table 3-22 lists the type validation debugging errors.
Table 3-22 Type validation debugging errors
Number | Name |
-27616 | object_wrong_type |
-27615 | shape_wrong_type |
-27614 | style_wrong_type |
-27613 | ink_wrong_type |
-27612 | transform_wrong_type |
-27611 | device_wrong_type |
-27610 | port_wrong_type |
Table 3-23 lists the QuickDraw GX cache validation debugging errors.
Table 3-23 Cache validation debugging errors
Number | Name |
-27609 | shape_cache_wrong_type |
-27608 | style_cache_wrong_type |
-27607 | ink_cache_wrong_type |
-27606 | transform_cache_wrong_type |
-27605 | port_cache_wrong_type |
-27604 | shape_cache_parent_mismatch |
-27603 | style_cache_parent_mismatch |
-27602 | ink_cache_parent_mismatch |
-27601 | transform_cache_parent_mismatch |
-27600 | port_cache_parent_mismatch |
-27599 | invalid_shape_cache_port |
-27598 | invalid_shape_cache_device |
-27597 | invalid_ink_cache_port |
-27596 | invalid_ink_cache_device |
-27595 | invalid_style_cache_port |
-27594 | invalid_style_cache_device |
-27593 | invalid_transform_cache_port |
-27592 | invalid_transform_cache_device |
-27591 | recursive_caches |
Table 3-24 lists the QuickDraw GX shape cache validation debugging errors.
Table 3-24 Shape cache validation shape debugging errors
Number | Name |
-27590 | invalid_fillShape_ownerCount |
-27589 | recursive_fillShapes |
Table 3-25 lists the QuickDraw GX memory block validation debugging errors.
Table 3-25 Memory block validation debugging errors
Number | Name |
-27588 | indirect_memory_block_too_small |
-27587 | indirect_memory_block_too_large |
-27586 | unexpected_nil_pointer |
-27585 | bad_address |
Table 3-26 lists the QuickDraw GX object validation debugging errors.
Table 3-26 Object validation debugging errors
Number | Name |
-27584 | no_owners |
-27583 | invalid_pointer |
-27582 | invalid_seed |
-27581 | invalid_frame_seed |
-27580 | invalid_text_seed |
-27579 | invalid_draw_seed |
-27578 | bad_printer_flags |
Table 3-27 lists the QuickDraw GX path and polygon validation debugging errors.
Table 3-27 Path and polygon validation debugging errors
Number | Name |
-27577 | invalid_vector_count |
-27576 | invalid_contour_count |
Table 3-28 lists the QuickDraw GX bitmap validation debugging errors.
Table 3-28 Bitmap validation debugging errors
Number | Name |
-27575 | bitmap_ptr_too_small |
-27574 | bitmap_ptr_not_aligned |
-27573 | bitmap_rowBytes_negative |
-27572 | bitmap_width_negative |
-27571 | bitmap_height_negative |
-27570 | invalid_pixelSize |
-27569 | bitmap_rowBytes_too_small |
-27568 | bitmap_rowBytes_not_aligned |
-27567 | bitmap_rowBytes_must_be_specified_for_user_image_buffer |
Table 3-29 lists the QuickDraw GX bitmap image validation debugging errors.
Table 3-29 Bitmap image validation debugging errors
Number | Name |
-27566 | invalid_bitImage_fileOffset |
-27565 | invalid_bitImage_owners |
-27564 | invalid_bitImage_rowBytes |
-27563 | invalid_bitImage_internal_flag |
Table 3-30 lists the QuickDraw GX text validation debugging errors.
Table 3-30 Text validation debugging errors
Number | Name |
-27562 | text_bounds_cache_wrong_size |
-27561 | text_metrics_cache_wrong_size |
-27560 | text_index_cache_wrong_size |
Table 3-31 lists the QuickDraw GX glyph validation debugging errors.
Table 3-31 Glyph validation debugging errors
Number | Name |
-27559 | glyph_run_count_negative |
-27558 | glyph_run_count_zero |
-27557 | glyph_run_counts_do_not_sum_to_character_count |
-27556 | glyph_first_advance_bit_set_not_allowed |
-27555 | glyph_tangent_vectors_both_zero |
Table 3-32 lists the QuickDraw GX layout validation debugging errors.
Table 3-32 Layout validation debugging errors
Number | Name |
-27554 | layout_run_length_negative |
-27553 | layout_run_length_zero |
-27552 | layout_run_level_negative |
-27551 | layout_run_lengths_do_not_sum_to_text_length |
Table 3-33 lists the QuickDraw GX picture validation debugging errors.
Table 3-33 Picture validation debugging errors
Number | Name |
-27550 | bad_shape_in_picture |
-27549 | bad_style_in_picture |
-27548 | bad_ink_in_picture |
-27547 | bad_transform_in_picture |
-27546 | bad_shape_cache_in_picture |
-27545 | bad_seed_in_picture |
-27544 | invalid_picture_count |
Table 3-34 lists the QuickDraw GX text face validation debugging errors.
Table 3-34 Text face validation debugging errors
Number | Name |
-27543 | bad_textLayer_count |
-27542 | bad_fillType_in_textFace |
-27541 | bad_style_in_textFace |
-27540 | bad_transform_in_textFace |
Table 3-35 lists the QuickDraw GX transform validation debugging errors.
Table 3-35 Transform validation debugging errors
Number | Name |
-27539 | invalid_matrix_flag |
-27538 | transform_clip_missing |
Table 3-36 lists the QuickDraw GX font cache validation debugging errors.
Table 3-36 Font cache validation debugging errors
Number | Name |
-27537 | metrics_wrong_type |
-27536 | metrics_point_size_probably_bad |
-27535 | scalar_block_wrong_type |
-27534 | scalar_block_parent_mismatch |
-27533 | scalar_block_too_small |
-27532 | scalar_block_too_large |
-27531 | invalid_metrics_range |
-27530 | invalid_metrics_flags |
-27529 | metrics_maxWidth_probably_bad |
-27528 | font_wrong_type |
-27527 | font_wrong_size |
-27526 | invalid_font_platform |
-27525 | invalid_lookup_range |
-27524 | invalid_lookup_platform |
-27523 | font_not_in_font_list |
-27522 | metrics_not_in_metrics_list |
Table 3-37 lists the QuickDraw GX view device validation debugging errors.
Table 3-37 View device validation debugging errors
Number | Name |
-27521 | bad_device_private_flags |
-27520 | bad_device_attributes |
-27519 | invalid_device_number |
-27518 | invalid_device_viewGroup |
-27517 | invalid_device_bounds |
-27516 | invalid_bitmap_in_device |
Table 3-38 lists the QuickDraw GX color set validation debugging errors.
Table 3-38 Color set validation debugging errors
Number | Name |
-27515 | colorSet_wrong_type |
-27514 | invalid_colorSet_viewDevice_owners |
-27513 | invalid_colorSet_colorSpace |
-27512 | invalid_colorSet_count |
Table 3-39 lists the QuickDraw GX color profile validation debugging errors.
Table 3-39 Color profile validation debugging errors
Number | Name |
-27511 | colorProfile_wrong_type |
-27510 | invalid_colorProfile_flags |
-27509 | invalid_colorProfile_response_count |
Table 3-40 lists the QuickDraw GX internal backing store validation debugging errors.
Table 3-40 Internal backing store validation debugging errors
Number | Name |
-27508 | backing_free_parent_mismatch |
-27507 | backing_store_parent_mismatch |
Warnings
This section describes the warnings that the debugging version of QuickDraw GX may post. QuickDraw GX debugging warnings can be grouped into the following categories:
- invalid data warnings
- can't find warnings
- other warnings
Table 3-41 gives the range of debugging warning numbers.
Table 3-41 Debugging warning number range
Number | Description |
-26700 | gxFirstSystemDebuggingWarning |
-26000 | gxLastSystemWarning |
Table 3-42 lists the QuickDraw GX invalid data debugging warnings.
Table 3-42 Invalid data debugging warnings
Number | Name |
-26700 | new_shape_contains_invalid_data |
-26699 | new_tag_contains_invalid_data |
-26698 | extra_data_passed_was_ignored |
-26697 | font_table_not_found |
-26696 | font_name_not_found |
-26695 | unable_to_traverse_open_contour_that_starts_or_ends_off_the_curve |
-26694 | unable_to_draw_open_contour_that_starts_or_ends_off_the_curve |
-26693 | cannot_dispose_default_shape |
-26692 | cannot_dispose_default_style |
-26691 | cannot_dispose_default_ink |
-26690 | cannot_dispose_default_transform |
-26689 | cannot_dispose_default_colorProfile |
-26688 | cannot_dispose_default_colorSet |
-26687 | shape_direct_attribute_not_set |
Table 3-43 lists the QuickDraw GX can't find debugging warnings.
Table 3-43 Can't find debugging warnings
Number | Name |
-26686 | point_does_not_intersect_port |
-26685 | cannot_dispose_non_font |
-26684 | face_override_style_font_must_match_style |
-26683 | union_of_area_and_and_length_returns_area_only |
-26682 | insufficient_coordinate_space_for_new_device |
Table 3-44 lists the QuickDraw GX other debugging warnings.
Table 3-44 Other debugging warnings
Number | Name |
-26681 | shape_passed_has_no_bounds |
-26680 | tags_of_type_flst_removed |
-26679 | translator_not_installed_on_this_grafport |
Notices
QuickDraw GX provides notices only in the debugging version. This section describes the notices that the debugging version of QuickDraw GX may post. Each QuickDraw notice has a unique notice number and a notice name. Table 3-45 gives the debugging notice number range.
Table 3-45 Debugging version notice number summary
Number | Description |
-25999 | gxFirstSystemNotice |
-25500 | gxLastSystemNotice |
Table 3-46 lists the QuickDraw GX debugging notices.
Table 3-46 Debugging notices
Number | Name |
-25999 | parameters_have_no_effect |
-25998 | attributes_already_set |
-25997 | caps_already_set |
-25996 | clip_already_set |
-25995 | color_already_set |
-25994 | curve_error_already_set |
-25993 | dash_already_set |
-25992 | default_colorProfile_already_set |
-25991 | default_ink_already_set |
-25990 | default_transform_already_set |
|
-25989 | default_shape_already_set |
-25988 | default_style_already_set |
-25987 | dither_already_set |
-25986 | encoding_already_set |
-25985 | face_already_set |
-25984 | fill_already_set |
-25983 | font_already_set |
-25982 | font_variations_already_set |
-25981 | glyph_positions_are_already_set |
-25980 | glyph_tangents_are_already_set |
-25979 | halftone_already_set |
-25978 | hit_test_already_set |
-25977 | ink_already_set |
-25976 | join_already_set |
-25975 | justification_already_set |
-25974 | mapping_already_set |
-25973 | pattern_already_set |
-25972 | pen_already_set |
-25971 | style_already_set |
-25970 | tag_already_set |
-25969 | text_attributes_already_set |
-25968 | text_size_already_set |
-25967 | transfer_already_set |
-25966 | translator_already_installed_on_this_grafport |
-25965 | transform_already_set |
-25964 | type_already_set |
-25963 | validation_level_already_set |
-25962 | viewPorts_already_set |
-25961 | viewPorts_already_in_viewGroup |
-25960 | viewDevice_already_in_viewGroup |
-25959 | geometry_unaffected |
-25958 | mapping_unaffected |
-25957 | tags_in_shape_ignored |
-25956 | shape_already_in_primitive_form |
-25955 | shape_already_in_simple_form |
-25954 | shape_already_broken |
-25953 | shape_already_joined |
-25952 | cache_already_cleared |
-25951 | shape_not_disposed |
-25950 | style_not_disposed |
-25949 | ink_not_disposed |
-25948 | transform_not_disposed |
-25947 | colorSet_not_disposed |
-25946 | colorProfile_not_disposed |
-25945 | font_not_disposed |
-25944 | glyph_tangents_have_no_effect |
-25943 | glyph_positions_determined_by_advance |
-25942 | transform_viewPorts_already_set |
-25941 | directShape_attribute_set_as_side_effect |
-25940 | lockShape_called_as_side_effect |
-25939 | lockTag_called_as_side_effect |
-25938 | shapes_unlocked_as_side_effect |
-25937 | shape_not_locked |
-25936 | tag_not_locked |
-25935 | disposed_dead_caches |
-25934 | disposed_live_caches |
-25933 | low_on_memory |
-25932 | very_low_on_memory |
-25931 | transform_references_disposed_viewPort |