---
name: "Ace::Graphics::GlyphFactory"
section: "3pm"
platform: "linux"
package: "libace-perl"
version: "1.92-12+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Ace::Graphics::GlyphFactory"
---

# Ace::Graphics::GlyphFactory(3pm)

Create Ace::Graphics::Glyphs

## NAME

Ace::Graphics::GlyphFactory - Create Ace::Graphics::Glyphs

## SYNOPSIS

```
  use Ace::Graphics::GlyphFactory;
  my $factory = Ace::Graphics::GlyphFactory($glyph_name,@options);
```

## DESCRIPTION

The Ace::Graphics::GlyphFactory class is used internally by Ace::Graphics::Track and Ace::Graphics::Glyph to hold the options pertaining to a set of related glyphs and creating them on demand. This class is not ordinarily useful to the end-developer.

## METHODS

This section describes the class and object methods for Ace::Graphics::GlyphFactory.

### CONSTRUCTORS

There is only one constructor, the **new()** method.  It is ordinarily called by Ace::Graphics::Track, in the **make\_factory()** subroutine.

- $factory = Ace::Graphics::GlyphFactory-\>new($glyph\_name,@options)

  The **new()** method creates a new factory object.  The object will create glyphs of type `$glyph_name`, and using the options specified in `@options`.  Generic options are described in Ace::Graphics::Panel, and specific options are described in each of the Ace::Graphics::Glyph::\* manual pages. =back

### OBJECT METHODS

Once a track is created, the following methods can be invoked:

- $glyph = $factory-\>glyph($feature)

  Given a sequence feature, creates an Ace::Graphics::Glyph object to display it.  The various attributes of the glyph are set from the options provided at factory creation time.

- $option = $factory-\>option($option\_name \[,$new\_option\])

  Given an option name, returns its value.  If a second argument is provided, sets the option to the new value and returns its previous one.

- $index = $factory-\>fgcolor

  Returns the desired foreground color for the glyphs in the form of an GD::Image color index.  This may be the one of the special colors gdBrushed and gdStyled.  This is only useful while the enclosing Ace::Graphics::Panel object is rendering the object.  In other contexts it returns undef.

- $scale = $factory-\>scale(\[$scale\])

  Get or set the scale, in pixels/bp, for the glyph.  This is ordinarily set by the Ace::Graphics::Track object just prior to rendering, and called by each glyphs' **map\_pt()** method when performing the rendering.

- $color = $factory-\>bgcolor(\[$color\])

  Get or set the background color for the glyphs.

- $color = $factory-\>fillcolor(\[$color\])

  Get or set the fill color for the glyphs.

- $font = $factory-\>font(\[$font\])

  Get or set the font to use for rendering the glyph.

- $color = $factory-\>fontcolor

  Get the color for the font (to set it, use **fgcolor()**).  This is subtly different from **fgcolor()** itself, because it will never return a styled color, such as gdBrushed.

- $panel = $factory-\>panel(\[$panel\])

  Get or set the panel that contains the GD::Image object used by this factory.

- $index = $factory-\>translate($color)

  - @rgb = $factory-\>rgb($index)

  These are convenience procedures that are passed through to the enclosing Panel object and have the same effect as the like-named methods in that class.  See Ace::Graphics::Panel.

## BUGS

Please report them.

## SEE ALSO

Ace::Sequence, Ace::Sequence::Feature, Ace::Graphics::Panel, Ace::Graphics::Track, Ace::Graphics::Glyph

## AUTHOR

Lincoln Stein \<lstein@cshl.org\>.

Copyright (c) 2001 Cold Spring Harbor Laboratory

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.  See DISCLAIMER.txt for disclaimers of warranty.

## POD ERRORS

Hey! **The above document had some coding errors, which are explained below:**

- Around line 191:

  You forgot a '=back' before '=head2'
