7 public class ResultViewInfo
: IInfo
9 public override string Name
11 get { return Catalog.GetString("Simple Result View"); }
14 public override string ShortName
19 public override string Author
21 get { return "Bartosz Taudul"; }
24 public override string Description
26 get { return Catalog.GetString("This plugin displays which images from database were recognized for given test images."); }
30 public class ResultViewFactory
: IFactory
32 IInfo _info
= new ResultViewInfo();
40 get { return IType.Out; }
43 public void Initialize()
47 public Plugin
.Base
Create()
49 return new ResultViewPlugin();
53 public class ResultViewPlugin
: Plugin
.Out
55 Gdk
.Pixbuf
[] itest
= null;
56 Gdk
.Pixbuf
[] ibase
= null;
57 Gdk
.Pixbuf
[] thumbs
= null;
64 public ResultViewPlugin()
66 _info
= new ResultViewInfo();
69 public override XmlNode Config
71 get { return GetConfig(); }
72 set { LoadConfig(value); }
75 private void UpdateValue(bool invert
)
82 public override void Setup()
84 new ResultSetup(invert
, UpdateValue
);
87 public override bool HasSetup
92 public override void DisplayResults()
95 throw new PluginException(Catalog
.GetString("Plugin is not ready to display results."));
97 new ResultView(ibase
, itest
, thumbs
, res
, cat1
, cat2
, match
);
100 public override void Work()
102 ICommResult r
= _in
[0] as ICommResult
;
104 itest
= new Gdk
.Pixbuf
[r
.Length
];
105 thumbs
= new Gdk
.Pixbuf
[r
.Length
];
106 ibase
= new Gdk
.Pixbuf
[r
.OriginalBaseImages
.Length
];
110 for(int i
=0; i
<itest
.Length
; i
++)
112 IImage _img
= r
.OriginalTestImages
[i
];
113 IImage img
= new IImage(_img
.BPP
, _img
.W
, _img
.H
, _img
.Data
, invert
);
119 scale
= img
.W
/ 256.0;
121 scale
= img
.H
/ 256.0;
123 Gdk
.Pixbuf tmp
= img
.CreatePixbuf();
124 itest
[i
] = tmp
.ScaleSimple(Scale(img
.W
, scale
), Scale(img
.H
, scale
), Gdk
.InterpType
.Bilinear
);
127 scale
= img
.W
/ 64.0;
129 scale
= img
.H
/ 64.0;
131 thumbs
[i
] = itest
[i
].ScaleSimple(Scale(img
.W
, scale
), Scale(img
.H
, scale
), Gdk
.InterpType
.Bilinear
);
134 for(int i
=0; i
<ibase
.Length
; i
++)
136 IImage _img
= r
.OriginalBaseImages
[i
];
137 IImage img
= new IImage(_img
.BPP
, _img
.W
, _img
.H
, _img
.Data
, invert
);
143 scale
= img
.W
/ 256.0;
145 scale
= img
.H
/ 256.0;
147 Gdk
.Pixbuf tmp
= img
.CreatePixbuf();
148 ibase
[i
] = tmp
.ScaleSimple(Scale(img
.W
, scale
), Scale(img
.H
, scale
), Gdk
.InterpType
.Bilinear
);
151 res
= r
.FindResultsSimple();
153 cat1
= r
.BaseCategories
;
154 cat2
= r
.TestCategories
;
161 private int Scale(int s
, double scale
)
163 int val
= (int)(s
/scale
);
171 private XmlNode
GetConfig()
173 XmlNode root
= _xmldoc
.CreateNode(XmlNodeType
.Element
, "config", "");
176 root
.InnerText
= "true";
178 root
.InnerText
= "false";
183 private void LoadConfig(XmlNode root
)
185 if(root
.InnerText
== "true")
191 public override int NumIn { get { return 1; }
}
193 public override string DescIn(int n
)
195 return Catalog
.GetString("Results to be viewed.");
198 private static string[] matchin
= new string[] { "result" }
;
199 public override string[] MatchIn { get { return matchin; }
}