File: pixel-cache-struct.dot

package info (click to toggle)
graphicsmagick 1.3.30+hg15796-1~deb9u2
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 176,320 kB
  • sloc: ansic: 998,570; xml: 91,899; sh: 77,027; cpp: 39,772; python: 29,412; makefile: 8,198; perl: 4,629; asm: 3,560; pascal: 3,096; tcl: 2,208; ada: 1,681; awk: 924; cs: 879; php: 368; sed: 10
file content (112 lines) | stat: -rw-r--r-- 2,818 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
  Copyright (C) 2009 GraphicsMagick Group

  This program is covered by multiple licenses, which are described in
  Copyright.txt. You should have received a copy of Copyright.txt with
  this package; otherwise see
  http://www.graphicsmagick.org/www/Copyright.html.

  Pixel Cache Data Structures
  Written by Bob Friesenhahn, January 2009.

  This file is in DOT format and may be viewed using GraphicsMagick if
  'dot' is installed.  For example:

    gm display -density 100  pixel-cache-struct.dot
*/

digraph "pixel-cache-struct" {

  label = "\n\nGraphicsMagick\nPixel Cache Data Structures";
  fontname = "Helvetica";
  fontsize=20;

  /* bounding box of drawing in inches */
  size = "11,8.5";

  /* aspect ratio, or fill/compress/auto */
  ratio = 0.9;
  /* ratio = auto; */

  /* Rotation on page (only 0 or 90 works) */
  rotate = 0;

  /* minimum separation between nodes */
  /* nodesep = 1; */

  /* minimum separation between ranks */
  /* ranksep = .5; */

  /* Top to bottom drawing (alternative is LR) */
  rankdir = "TB";

  /* Default node attributes. */
  node [
    shape = record,
    fontname = "Helvetica",
    fontsize = 12,
    fontcolor = "black",
    fillcolor = "bisque",
    style=filled
    ];

  "Image" [
     shape=record,
     label="<Struct> \N|{storage_class|colorspace|...|columns|rows|<cache> cache*|<default_views> default_views*|...|reference_count|semaphore}"
     ];

  "ThreadViewSet" [
     shape=record, label="<Struct> \N|{<views> views[]|nviews}"
     ];

  "View" [
     shape=record,
     label="<Struct> \N|{<image> image*|<nexus_info> nexus_info*|signature}"
     ];

  "NexusInfo" [
     shape=record,
     label="<Struct> \N|{<pixels> pixels[]|<indexes> indexes[]|staging|length|<region> region|in_core|signature}"
     ];

  "CacheInfo" [
     shape=record,
     label="<Struct> \N|{colums|rows|offset|length|<pixels> pixels[]|<indexes> indexes[]|type|indexes_valid|reference_count|reference_semaphore|file_semaphore|storage_class|colorspace|virtual_pixel_method|file|filename|cache_filename|signature}"
     ];

  "PixelPacket" [
     shape=record,
     label="<Struct> \N|{red|green|blue|opacity}"
     ];

  "IndexPacket" [
     shape=box,
     label="\N"
     ];

  "RectangleInfo" [
     shape=record,
     label="<Struct> \N|{width|height|x|y}"
     ];

  Image:cache -> CacheInfo:Struct;

  Image:default_views -> ThreadViewSet:Struct;

  ThreadViewSet:views -> View:Struct;

  View:image -> Image:Struct [ style = dashed ];

  View:nexus_info -> NexusInfo:Struct;

  NexusInfo:pixels -> PixelPacket:Struct [ style = dashed, constraint = false ];

  NexusInfo:indexes -> IndexPacket [ style = dashed, constraint = false ];

  NexusInfo:region -> RectangleInfo:Struct;

  CacheInfo:pixels -> PixelPacket:Struct;

  CacheInfo:indexes -> IndexPacket;

}