[Gs-code-review] Remove bbox_text_enum_t

Igor V. Melichev igor at artifex.com
Tue Feb 19 18:17:56 PST 2002


[Log message beg]
Remove bbox_text_enum_t and related functions because they are unuseful.
This change helps for FAPI project.
[Log message end]

Branches : HEAD.

I didn't test it with X11 because I haven't got an appropriate OS.
Raph, please do.

Note : the attached file uses 0D0A line breaks.

Changes:


File gdevbbox.c :

*** f:\CVSroot\head\gs\src\gdevbbox.c	Tue Apr  3 17:07:26 2001
--- files\gs\src\gdevbbox.c	Wed Feb 20 05:10:23 2002
***************
*** 1175,1216 ****
  /* ------ Text imaging ------ */

- extern_st(st_gs_text_enum);
-
- typedef struct bbox_text_enum_s {
-     gs_text_enum_common;
-     gs_text_enum_t *target_info;
- } bbox_text_enum;
-
- gs_private_st_suffix_add1(st_bbox_text_enum, bbox_text_enum,
"bbox_text_enum",
- 			bbox_text_enum_enum_ptrs, bbox_text_enum_reloc_ptrs,
- 			  st_gs_text_enum, target_info);
-
- private text_enum_proc_resync(bbox_text_resync);
- private text_enum_proc_process(bbox_text_process);
- private text_enum_proc_is_width_only(bbox_text_is_width_only);
- private text_enum_proc_current_width(bbox_text_current_width);
- private text_enum_proc_set_cache(bbox_text_set_cache);
- private text_enum_proc_retry(bbox_text_retry);
- private text_enum_proc_release(bbox_text_release);
- private rc_free_proc(bbox_text_free);
-
- private const gs_text_enum_procs_t bbox_text_procs =
- {
-     bbox_text_resync, bbox_text_process, bbox_text_is_width_only,
-     bbox_text_current_width, bbox_text_set_cache, bbox_text_retry,
-     bbox_text_release
- };
-
- private void
- bbox_text_enum_copy(bbox_text_enum *pbte)
- {
-     rc_header rc_save;
-
-     rc_save = pbte->rc;
-     *(gs_text_enum_t *)pbte = *pbte->target_info;	/* copy common info */
-     pbte->rc = rc_save;
-     pbte->procs = &bbox_text_procs;
- }
-
  private int
  bbox_text_begin(gx_device * dev, gs_imager_state * pis,
--- 1175,1178 ----
***************
*** 1221,1324 ****
  {
      gx_device_bbox *const bdev = (gx_device_bbox *) dev;
!     gx_device *tdev = bdev->target;
!     bbox_text_enum *pbte;
!     int code;
!
!     if (tdev == 0)
! 	return gx_default_text_begin(dev, pis, text, font, path, pdcolor,
  				     pcpath, memory, ppenum);
-     rc_alloc_struct_1(pbte, bbox_text_enum, &st_bbox_text_enum, memory,
- 		      return_error(gs_error_VMerror),
- 		      "bbox_text_begin");
-     pbte->rc.free = bbox_text_free;
-     code =
- 	(*dev_proc(tdev, text_begin))
- 	(tdev, pis, text, font, path, pdcolor, pcpath, memory,
- 	 &pbte->target_info);
-     if (code < 0) {
- 	gs_free_object(memory, pbte, "bbox_text_begin");
- 	return code;
-     }
-     bbox_text_enum_copy(pbte);

      /* See note on imaging_dev in gxtext.h */
!     rc_assign(pbte->target_info->imaging_dev, dev, "bbox_text_begin");
!
!     *ppenum = (gs_text_enum_t *) pbte;
!     return code;
! }
!
! private int
! bbox_text_resync(gs_text_enum_t *pte, const gs_text_enum_t *pfrom)
! {
!     bbox_text_enum *const pbte = (bbox_text_enum *) pte;
!     int code = gs_text_resync(pbte->target_info, pfrom);
!
!     if (code >= 0)
! 	bbox_text_enum_copy(pbte);
!     return code;
! }
!
! private int
! bbox_text_process(gs_text_enum_t * pte)
! {
!     bbox_text_enum *const pbte = (bbox_text_enum *) pte;
!     int code = gs_text_process(pbte->target_info);
!
!     gs_text_enum_copy_dynamic(pte, pbte->target_info, true);
!     return code;
! }
!
! private bool
! bbox_text_is_width_only(const gs_text_enum_t *pte)
! {
!     const bbox_text_enum *const pbte = (const bbox_text_enum *)pte;
!
!     return gs_text_is_width_only(pbte->target_info);
! }
!
! private int
! bbox_text_current_width(const gs_text_enum_t *pte, gs_point *pwidth)
! {
!     const bbox_text_enum *const pbte = (const bbox_text_enum *)pte;
!
!     return gs_text_current_width(pbte->target_info, pwidth);
! }
!
! private int
! bbox_text_set_cache(gs_text_enum_t * pte, const double *values,
! 		    gs_text_cache_control_t control)
! {
!     bbox_text_enum *const pbte = (bbox_text_enum *) pte;
!     gs_text_enum_t *tpte = pbte->target_info;
!     int code = gs_text_set_cache(tpte, values, control);

-     if (code < 0)
- 	return code;
-     /* Copy back the dynamic information for the client. */
-     pte->index = tpte->index;
      return code;
  }

- private int
- bbox_text_retry(gs_text_enum_t *pte)
- {
-     bbox_text_enum *const pbte = (bbox_text_enum *) pte;
-
-     return gs_text_retry(pbte->target_info);
- }
-
- private void
- bbox_text_release(gs_text_enum_t *pte, client_name_t cname)
- {
-     bbox_text_enum *const pbte = (bbox_text_enum *)pte;
-
-     gs_text_release(pbte->target_info, cname);
- }
-
- private void
- bbox_text_free(gs_memory_t * memory, void *vpte, client_name_t cname)
- {
-     bbox_text_release((gs_text_enum_t *)vpte, cname);
-     rc_free_struct_only(memory, vpte, cname);
- }
--- 1183,1195 ----
  {
      gx_device_bbox *const bdev = (gx_device_bbox *) dev;
!     int code = gx_default_text_begin(dev, pis, text, font, path, pdcolor,
  				     pcpath, memory, ppenum);

+     if (bdev->target != NULL) {
          /* See note on imaging_dev in gxtext.h */
!         rc_assign((*ppenum)->imaging_dev, dev, "bbox_text_begin");
!     }

      return code;
  }

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gdevbbox.c
Type: application/octet-stream
Size: 36360 bytes
Desc: not available
Url : http://ghostscript.com/pipermail/gs-code-review/attachments/20020220/9d1c576c/gdevbbox.obj


More information about the gs-code-review mailing list