- Location:
- /trunk
- Files:
-
- 5 added
- 1 deleted
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
/trunk/MacFaceFloat/Configuration.cs
r20 r30 36 36 [Category("çtH["), Description("§¾x0-100ÌÅwèµÜ·B")] 37 37 public Int32 Opacity = 100; 38 39 [AutoConfigure("form.faceform.patternsize")] 40 [Category("çtH["), Description("p^[Ì嫳10-100ÌÅwèµÜ·B")] 41 public Int32 PatternSize = 100; 38 42 39 43 [AutoConfigure("form.faceform.point")] -
/trunk/MacFaceFloat/ConfigurationForm.cs
r20 r30 36 36 private System.Windows.Forms.Label label4; 37 37 private System.Windows.Forms.CheckBox checkMouseMessage; 38 private System.Windows.Forms.ImageList imageListConfigTreeIcon; 39 private System.Windows.Forms.Label label5; 40 private TrackBar trackBarPatternSize; 41 private Label label6; 38 42 private System.ComponentModel.IContainer components; 39 43 … … 73 77 { 74 78 this.components = new System.ComponentModel.Container(); 79 System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("SÊ", 1, 1); 80 System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("çp^["); 81 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigurationForm)); 75 82 this.treeCategory = new System.Windows.Forms.TreeView(); 83 this.imageListConfigTreeIcon = new System.Windows.Forms.ImageList(this.components); 76 84 this.buttonCancel = new System.Windows.Forms.Button(); 77 85 this.buttonApply = new System.Windows.Forms.Button(); … … 79 87 this.labelTitle = new System.Windows.Forms.Label(); 80 88 this.panelContainer = new System.Windows.Forms.Panel(); 89 this.panelAppearance = new System.Windows.Forms.Panel(); 90 this.label5 = new System.Windows.Forms.Label(); 91 this.checkMouseMessage = new System.Windows.Forms.CheckBox(); 92 this.label3 = new System.Windows.Forms.Label(); 93 this.label2 = new System.Windows.Forms.Label(); 94 this.label1 = new System.Windows.Forms.Label(); 95 this.trackBarOpacity = new System.Windows.Forms.TrackBar(); 81 96 this.panelFacePatternList = new System.Windows.Forms.Panel(); 82 97 this.label4 = new System.Windows.Forms.Label(); … … 85 100 this.listViewFaces = new System.Windows.Forms.ListView(); 86 101 this.imageListFacePreviews = new System.Windows.Forms.ImageList(this.components); 87 this.panelAppearance = new System.Windows.Forms.Panel();88 this.checkMouseMessage = new System.Windows.Forms.CheckBox();89 this.label3 = new System.Windows.Forms.Label();90 this.label2 = new System.Windows.Forms.Label();91 this.label1 = new System.Windows.Forms.Label();92 this.trackBarOpacity = new System.Windows.Forms.TrackBar();93 102 this.toolTipPreviewDetail = new System.Windows.Forms.ToolTip(this.components); 103 this.trackBarPatternSize = new System.Windows.Forms.TrackBar(); 104 this.label6 = new System.Windows.Forms.Label(); 94 105 this.panelContainer.SuspendLayout(); 95 this.panelFacePatternList.SuspendLayout();96 106 this.panelAppearance.SuspendLayout(); 97 107 ((System.ComponentModel.ISupportInitialize)(this.trackBarOpacity)).BeginInit(); 108 this.panelFacePatternList.SuspendLayout(); 109 ((System.ComponentModel.ISupportInitialize)(this.trackBarPatternSize)).BeginInit(); 98 110 this.SuspendLayout(); 99 // 100 // treeCategory 101 // 102 this.treeCategory.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 103 | System.Windows.Forms.AnchorStyles.Left))); 104 this.treeCategory.ImageIndex = -1; 111 // 112 // treeCategory 113 // 114 this.treeCategory.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 115 | System.Windows.Forms.AnchorStyles.Left))); 116 this.treeCategory.FullRowSelect = true; 117 this.treeCategory.HideSelection = false; 118 this.treeCategory.HotTracking = true; 119 this.treeCategory.ImageList = this.imageListConfigTreeIcon; 105 120 this.treeCategory.Location = new System.Drawing.Point(0, 0); 106 121 this.treeCategory.Name = "treeCategory"; 122 treeNode3.ImageIndex = 1; 123 treeNode3.Name = ""; 124 treeNode3.SelectedImageIndex = 1; 125 treeNode3.Text = "SÊ"; 126 treeNode4.Name = ""; 127 treeNode4.Text = "çp^["; 107 128 this.treeCategory.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { 108 new System.Windows.Forms.TreeNode("SÊ"), 109 new System.Windows.Forms.TreeNode("çp^[")}); 110 this.treeCategory.SelectedImageIndex = -1; 111 this.treeCategory.Size = new System.Drawing.Size(193, 449); 129 treeNode3, 130 treeNode4}); 131 this.treeCategory.ShowLines = false; 132 this.treeCategory.ShowPlusMinus = false; 133 this.treeCategory.ShowRootLines = false; 134 this.treeCategory.Size = new System.Drawing.Size(101, 296); 112 135 this.treeCategory.TabIndex = 0; 113 136 this.treeCategory.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeCategory_AfterSelect); 114 // 115 // buttonCancel 116 // 137 // 138 // imageListConfigTreeIcon 139 // 140 this.imageListConfigTreeIcon.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit; 141 this.imageListConfigTreeIcon.ImageSize = new System.Drawing.Size(32, 32); 142 this.imageListConfigTreeIcon.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListConfigTreeIcon.ImageStream"))); 143 this.imageListConfigTreeIcon.TransparentColor = System.Drawing.Color.Transparent; 144 this.imageListConfigTreeIcon.Images.SetKeyName(0, ""); 145 this.imageListConfigTreeIcon.Images.SetKeyName(1, ""); 146 // 147 // buttonCancel 148 // 117 149 this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 118 150 this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; 119 this.buttonCancel.Location = new System.Drawing.Point( 427, 420);151 this.buttonCancel.Location = new System.Drawing.Point(303, 267); 120 152 this.buttonCancel.Name = "buttonCancel"; 121 153 this.buttonCancel.Size = new System.Drawing.Size(87, 21); 122 154 this.buttonCancel.TabIndex = 1; 123 155 this.buttonCancel.Text = "LZ"; 124 125 126 156 // 157 // buttonApply 158 // 127 159 this.buttonApply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 128 160 this.buttonApply.Enabled = false; 129 this.buttonApply.Location = new System.Drawing.Point( 521, 420);161 this.buttonApply.Location = new System.Drawing.Point(397, 267); 130 162 this.buttonApply.Name = "buttonApply"; 131 163 this.buttonApply.Size = new System.Drawing.Size(87, 21); 132 164 this.buttonApply.TabIndex = 2; 133 165 this.buttonApply.Text = "Kp(&A)"; 134 135 136 166 // 167 // buttonOK 168 // 137 169 this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 138 170 this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK; 139 this.buttonOK.Location = new System.Drawing.Point( 332, 420);171 this.buttonOK.Location = new System.Drawing.Point(208, 267); 140 172 this.buttonOK.Name = "buttonOK"; 141 173 this.buttonOK.Size = new System.Drawing.Size(87, 21); … … 143 175 this.buttonOK.Text = "OK"; 144 176 this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); 145 146 147 148 this.labelTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 149 | System.Windows.Forms.AnchorStyles.Right)));177 // 178 // labelTitle 179 // 180 this.labelTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 181 | System.Windows.Forms.AnchorStyles.Right))); 150 182 this.labelTitle.BackColor = System.Drawing.SystemColors.ActiveCaption; 151 this.labelTitle.Font = new System.Drawing.Font("MS UI Gothic", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, (( System.Byte)(128)));183 this.labelTitle.Font = new System.Drawing.Font("MS UI Gothic", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128))); 152 184 this.labelTitle.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; 153 this.labelTitle.Location = new System.Drawing.Point(1 99, 5);185 this.labelTitle.Location = new System.Drawing.Point(107, 5); 154 186 this.labelTitle.Name = "labelTitle"; 155 this.labelTitle.Size = new System.Drawing.Size( 412, 27);187 this.labelTitle.Size = new System.Drawing.Size(380, 27); 156 188 this.labelTitle.TabIndex = 4; 157 189 this.labelTitle.Text = "SÊ"; 158 190 this.labelTitle.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; 159 // 160 // panelContainer 161 // 162 this.panelContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 163 | System.Windows.Forms.AnchorStyles.Left) 164 | System.Windows.Forms.AnchorStyles.Right))); 191 // 192 // panelContainer 193 // 194 this.panelContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 195 | System.Windows.Forms.AnchorStyles.Left) 196 | System.Windows.Forms.AnchorStyles.Right))); 197 this.panelContainer.Controls.Add(this.panelAppearance); 165 198 this.panelContainer.Controls.Add(this.panelFacePatternList); 166 this.panelContainer.Controls.Add(this.panelAppearance); 167 this.panelContainer.Location = new System.Drawing.Point(198, 38); 199 this.panelContainer.Location = new System.Drawing.Point(106, 38); 168 200 this.panelContainer.Name = "panelContainer"; 169 this.panelContainer.Size = new System.Drawing.Size( 411, 371);201 this.panelContainer.Size = new System.Drawing.Size(380, 218); 170 202 this.panelContainer.TabIndex = 5; 171 // 172 // panelFacePatternList 173 // 174 this.panelFacePatternList.Controls.Add(this.label4); 175 this.panelFacePatternList.Controls.Add(this.linkWebSite); 176 this.panelFacePatternList.Controls.Add(this.buttonBrowse); 177 this.panelFacePatternList.Controls.Add(this.listViewFaces); 178 this.panelFacePatternList.Dock = System.Windows.Forms.DockStyle.Fill; 179 this.panelFacePatternList.Location = new System.Drawing.Point(0, 0); 180 this.panelFacePatternList.Name = "panelFacePatternList"; 181 this.panelFacePatternList.Size = new System.Drawing.Size(411, 371); 182 this.panelFacePatternList.TabIndex = 7; 183 // 184 // label4 185 // 186 this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 187 this.label4.Location = new System.Drawing.Point(4, 350); 188 this.label4.Name = "label4"; 189 this.label4.Size = new System.Drawing.Size(63, 17); 190 this.label4.TabIndex = 3; 191 this.label4.Text = "EFuTCg:"; 192 // 193 // linkWebSite 194 // 195 this.linkWebSite.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 196 | System.Windows.Forms.AnchorStyles.Right))); 197 this.linkWebSite.Location = new System.Drawing.Point(67, 350); 198 this.linkWebSite.Name = "linkWebSite"; 199 this.linkWebSite.Size = new System.Drawing.Size(338, 16); 200 this.linkWebSite.TabIndex = 2; 201 this.linkWebSite.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkWebSite_LinkClicked); 202 // 203 // buttonBrowse 204 // 205 this.buttonBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 206 this.buttonBrowse.Location = new System.Drawing.Point(322, 323); 207 this.buttonBrowse.Name = "buttonBrowse"; 208 this.buttonBrowse.Size = new System.Drawing.Size(87, 21); 209 this.buttonBrowse.TabIndex = 1; 210 this.buttonBrowse.Text = "QÆ(&B)..."; 211 this.buttonBrowse.Click += new System.EventHandler(this.buttonBrowse_Click); 212 // 213 // listViewFaces 214 // 215 this.listViewFaces.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 216 | System.Windows.Forms.AnchorStyles.Left) 217 | System.Windows.Forms.AnchorStyles.Right))); 218 this.listViewFaces.LargeImageList = this.imageListFacePreviews; 219 this.listViewFaces.Location = new System.Drawing.Point(0, 0); 220 this.listViewFaces.Name = "listViewFaces"; 221 this.listViewFaces.Size = new System.Drawing.Size(410, 318); 222 this.listViewFaces.TabIndex = 0; 223 this.listViewFaces.DoubleClick += new System.EventHandler(this.listViewFaces_DoubleClick); 224 this.listViewFaces.MouseMove += new System.Windows.Forms.MouseEventHandler(this.listViewFaces_MouseMove); 225 this.listViewFaces.SelectedIndexChanged += new System.EventHandler(this.listViewFaces_SelectedIndexChanged); 226 // 227 // imageListFacePreviews 228 // 229 this.imageListFacePreviews.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit; 230 this.imageListFacePreviews.ImageSize = new System.Drawing.Size(128, 128); 231 this.imageListFacePreviews.TransparentColor = System.Drawing.Color.Transparent; 232 // 233 // panelAppearance 234 // 203 // 204 // panelAppearance 205 // 206 this.panelAppearance.Controls.Add(this.label6); 207 this.panelAppearance.Controls.Add(this.trackBarPatternSize); 208 this.panelAppearance.Controls.Add(this.label5); 235 209 this.panelAppearance.Controls.Add(this.checkMouseMessage); 236 210 this.panelAppearance.Controls.Add(this.label3); … … 238 212 this.panelAppearance.Controls.Add(this.label1); 239 213 this.panelAppearance.Controls.Add(this.trackBarOpacity); 240 this.panelAppearance.Dock = System.Windows.Forms.DockStyle.Fill; 241 this.panelAppearance.Location = new System.Drawing.Point(0, 0); 214 this.panelAppearance.Location = new System.Drawing.Point(4, 3); 242 215 this.panelAppearance.Name = "panelAppearance"; 243 this.panelAppearance.Size = new System.Drawing.Size( 411, 371);216 this.panelAppearance.Size = new System.Drawing.Size(366, 208); 244 217 this.panelAppearance.TabIndex = 0; 245 // 246 // checkMouseMessage 247 // 248 this.checkMouseMessage.Enabled = false; 249 this.checkMouseMessage.Location = new System.Drawing.Point(5, 115); 218 // 219 // label5 220 // 221 this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 222 | System.Windows.Forms.AnchorStyles.Right))); 223 this.label5.Location = new System.Drawing.Point(311, 55); 224 this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3); 225 this.label5.Name = "label5"; 226 this.label5.Size = new System.Drawing.Size(42, 11); 227 this.label5.TabIndex = 5; 228 this.label5.Text = "s§¾"; 229 // 230 // checkMouseMessage 231 // 232 this.checkMouseMessage.Location = new System.Drawing.Point(5, 188); 250 233 this.checkMouseMessage.Name = "checkMouseMessage"; 251 this.checkMouseMessage.Size = new System.Drawing.Size( 400, 16);234 this.checkMouseMessage.Size = new System.Drawing.Size(355, 11); 252 235 this.checkMouseMessage.TabIndex = 4; 253 236 this.checkMouseMessage.Text = "}EXÌ®ìðwÊÌEBhEÖ`¦é(&T)"; 254 255 256 237 // 238 // label3 239 // 257 240 this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 258 this.label3.Location = new System.Drawing.Point( 364, 73);241 this.label3.Location = new System.Drawing.Point(524, 73); 259 242 this.label3.Name = "label3"; 260 243 this.label3.Size = new System.Drawing.Size(45, 11); 261 244 this.label3.TabIndex = 3; 262 245 this.label3.Text = "s§¾"; 263 // 264 // label2 265 // 266 this.label2.Location = new System.Drawing.Point(4, 73); 246 // 247 // label2 248 // 249 this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 250 | System.Windows.Forms.AnchorStyles.Right))); 251 this.label2.Location = new System.Drawing.Point(15, 55); 252 this.label2.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3); 267 253 this.label2.Name = "label2"; 268 254 this.label2.Size = new System.Drawing.Size(31, 11); 269 255 this.label2.TabIndex = 2; 270 256 this.label2.Text = "§¾"; 271 272 273 257 // 258 // label1 259 // 274 260 this.label1.Location = new System.Drawing.Point(2, 5); 261 this.label1.Margin = new System.Windows.Forms.Padding(3, 3, 3, 0); 275 262 this.label1.Name = "label1"; 276 263 this.label1.Size = new System.Drawing.Size(196, 18); 277 264 this.label1.TabIndex = 1; 278 265 this.label1.Text = "§¾x:"; 279 280 281 282 this.trackBarOpacity.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 283 | System.Windows.Forms.AnchorStyles.Right)));266 // 267 // trackBarOpacity 268 // 269 this.trackBarOpacity.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 270 | System.Windows.Forms.AnchorStyles.Right))); 284 271 this.trackBarOpacity.LargeChange = 10; 285 this.trackBarOpacity.Location = new System.Drawing.Point(8, 26); 272 this.trackBarOpacity.Location = new System.Drawing.Point(15, 24); 273 this.trackBarOpacity.Margin = new System.Windows.Forms.Padding(3, 1, 3, 1); 286 274 this.trackBarOpacity.Maximum = 100; 287 275 this.trackBarOpacity.Name = "trackBarOpacity"; 288 this.trackBarOpacity.Size = new System.Drawing.Size( 400, 42);276 this.trackBarOpacity.Size = new System.Drawing.Size(338, 42); 289 277 this.trackBarOpacity.TabIndex = 0; 290 278 this.trackBarOpacity.TickFrequency = 10; 291 // 292 // ConfigurationForm 293 // 279 // 280 // panelFacePatternList 281 // 282 this.panelFacePatternList.Controls.Add(this.label4); 283 this.panelFacePatternList.Controls.Add(this.linkWebSite); 284 this.panelFacePatternList.Controls.Add(this.buttonBrowse); 285 this.panelFacePatternList.Controls.Add(this.listViewFaces); 286 this.panelFacePatternList.Location = new System.Drawing.Point(2, 1); 287 this.panelFacePatternList.Name = "panelFacePatternList"; 288 this.panelFacePatternList.Size = new System.Drawing.Size(367, 213); 289 this.panelFacePatternList.TabIndex = 7; 290 // 291 // label4 292 // 293 this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 294 this.label4.Location = new System.Drawing.Point(4, 165); 295 this.label4.Name = "label4"; 296 this.label4.Size = new System.Drawing.Size(63, 17); 297 this.label4.TabIndex = 3; 298 this.label4.Text = "EFuTCg:"; 299 // 300 // linkWebSite 301 // 302 this.linkWebSite.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 303 | System.Windows.Forms.AnchorStyles.Right))); 304 this.linkWebSite.Links.Add(new System.Windows.Forms.LinkLabel.Link(0, 0)); 305 this.linkWebSite.Location = new System.Drawing.Point(67, 165); 306 this.linkWebSite.Name = "linkWebSite"; 307 this.linkWebSite.Size = new System.Drawing.Size(388, 16); 308 this.linkWebSite.TabIndex = 2; 309 this.linkWebSite.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkWebSite_LinkClicked); 310 // 311 // buttonBrowse 312 // 313 this.buttonBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 314 this.buttonBrowse.Location = new System.Drawing.Point(267, 187); 315 this.buttonBrowse.Name = "buttonBrowse"; 316 this.buttonBrowse.Size = new System.Drawing.Size(95, 24); 317 this.buttonBrowse.TabIndex = 1; 318 this.buttonBrowse.Text = "QÆ(&B)..."; 319 this.buttonBrowse.Click += new System.EventHandler(this.buttonBrowse_Click); 320 // 321 // listViewFaces 322 // 323 this.listViewFaces.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 324 | System.Windows.Forms.AnchorStyles.Left) 325 | System.Windows.Forms.AnchorStyles.Right))); 326 this.listViewFaces.LargeImageList = this.imageListFacePreviews; 327 this.listViewFaces.Location = new System.Drawing.Point(0, 0); 328 this.listViewFaces.Name = "listViewFaces"; 329 this.listViewFaces.Size = new System.Drawing.Size(367, 161); 330 this.listViewFaces.TabIndex = 0; 331 this.listViewFaces.SelectedIndexChanged += new System.EventHandler(this.listViewFaces_SelectedIndexChanged); 332 this.listViewFaces.DoubleClick += new System.EventHandler(this.listViewFaces_DoubleClick); 333 this.listViewFaces.MouseMove += new System.Windows.Forms.MouseEventHandler(this.listViewFaces_MouseMove); 334 // 335 // imageListFacePreviews 336 // 337 this.imageListFacePreviews.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit; 338 this.imageListFacePreviews.ImageSize = new System.Drawing.Size(128, 128); 339 this.imageListFacePreviews.TransparentColor = System.Drawing.Color.Transparent; 340 // 341 // trackBarPatternSize 342 // 343 this.trackBarPatternSize.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 344 | System.Windows.Forms.AnchorStyles.Right))); 345 this.trackBarPatternSize.LargeChange = 10; 346 this.trackBarPatternSize.Location = new System.Drawing.Point(15, 114); 347 this.trackBarPatternSize.Margin = new System.Windows.Forms.Padding(3, 2, 3, 3); 348 this.trackBarPatternSize.Maximum = 100; 349 this.trackBarPatternSize.Minimum = 10; 350 this.trackBarPatternSize.Name = "trackBarPatternSize"; 351 this.trackBarPatternSize.Size = new System.Drawing.Size(338, 42); 352 this.trackBarPatternSize.TabIndex = 6; 353 this.trackBarPatternSize.TickFrequency = 10; 354 this.trackBarPatternSize.Value = 100; 355 // 356 // label6 357 // 358 this.label6.Location = new System.Drawing.Point(5, 93); 359 this.label6.Margin = new System.Windows.Forms.Padding(3, 3, 3, 0); 360 this.label6.Name = "label6"; 361 this.label6.Size = new System.Drawing.Size(196, 18); 362 this.label6.TabIndex = 7; 363 this.label6.Text = "嫳:"; 364 // 365 // ConfigurationForm 366 // 294 367 this.AutoScaleBaseSize = new System.Drawing.Size(5, 12); 295 this.ClientSize = new System.Drawing.Size( 616, 450);368 this.ClientSize = new System.Drawing.Size(492, 297); 296 369 this.Controls.Add(this.panelContainer); 297 370 this.Controls.Add(this.labelTitle); … … 305 378 this.Load += new System.EventHandler(this.ConfigurationForm_Load); 306 379 this.panelContainer.ResumeLayout(false); 380 this.panelAppearance.ResumeLayout(false); 381 this.panelAppearance.PerformLayout(); 382 ((System.ComponentModel.ISupportInitialize)(this.trackBarOpacity)).EndInit(); 307 383 this.panelFacePatternList.ResumeLayout(false); 308 this.panelAppearance.ResumeLayout(false); 309 ((System.ComponentModel.ISupportInitialize)(this.trackBarOpacity)).EndInit(); 384 ((System.ComponentModel.ISupportInitialize)(this.trackBarPatternSize)).EndInit(); 310 385 this.ResumeLayout(false); 311 386 … … 316 391 { 317 392 // SÊð\¦B 318 foreach (Panel pane in panelContainer.Controls) 393 foreach (Panel pane in panelContainer.Controls) 394 { 319 395 pane.Visible = false; 396 pane.Dock = DockStyle.Fill; 397 } 320 398 321 399 panelAppearance.Show(); … … 323 401 // úlðZbgB 324 402 trackBarOpacity.Value = (int) (_mainForm.Opacity * 100); 403 trackBarPatternSize.Value = (int)(_mainForm.PatternSize * 100); 325 404 checkMouseMessage.Checked = Configuration.GetInstance().TransparentMouseMessage; 326 405 } … … 330 409 Configuration config = Configuration.GetInstance(); 331 410 config.Opacity = trackBarOpacity.Value; 411 config.PatternSize = trackBarPatternSize.Value; 332 412 config.TransparentMouseMessage = checkMouseMessage.Checked; 333 413 … … 337 417 private void treeCategory_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e) 338 418 { 339 Panel container;340 341 419 // īƤ 342 420 if (e.Node.Text == labelTitle.Text) return; … … 351 429 listViewFaces.Items.Clear(); 352 430 imageListFacePreviews.Images.Clear(); 353 int i = 0;431 panelFacePatternList.Show(); 354 432 355 433 using (Bitmap tmpImage = new Bitmap(128, 128)) … … 372 450 } 373 451 } 374 375 panelFacePatternList.Show();376 452 break; 377 453 } … … 386 462 { 387 463 FaceDef faceDef = new FaceDef(path); 388 imageListFacePreviews.Images.Add(faceDef.TitleImage()); 464 // \¦/Iðµ½ÛÉÈçÈ¢æ¤É 究ßhèµÄ`æµ½æðpÓ·éB 465 using (Image titleImage = faceDef.TitleImage) 466 { 467 using (Bitmap titlePreviewImage = new Bitmap(titleImage.Width, titleImage.Height)) 468 { 469 using (Graphics g = Graphics.FromImage(titlePreviewImage)) 470 { 471 g.Clear(Color.White); 472 g.DrawRectangle(new Pen(Color.LightGray), 0, 0, 127, 127); 473 g.DrawImage(titleImage, 0, 0); 474 } 475 imageListFacePreviews.Images.Add(titlePreviewImage); 476 } 477 } 478 389 479 390 480 ListViewItem item = listViewFaces.Items.Add(faceDef.Title, imageListFacePreviews.Images.Count-1); … … 466 556 catch (Win32Exception) {} 467 557 } 558 559 private void label6_Click(object sender, EventArgs e) 560 { 561 562 } 468 563 } 469 564 } -
/trunk/MacFaceFloat/ConfigurationForm.resx
r20 r30 4 4 Microsoft ResX Schema 5 5 6 Version 1.36 Version 2.0 7 7 8 8 The primary goals of this format is to allow a simple XML format … … 15 15 ... ado.net/XML headers & schema ... 16 16 <resheader name="resmimetype">text/microsoft-resx</resheader> 17 <resheader name="version"> 1.3</resheader>17 <resheader name="version">2.0</resheader> 18 18 <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> 19 19 <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> 20 <data name="Name1"> this is my long string</data>20 <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> 21 21 <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> 22 22 <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> 23 [base64 mime encoded serialized .NET Framework object]23 <value>[base64 mime encoded serialized .NET Framework object]</value> 24 24 </data> 25 25 <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> 26 [base64 mime encoded string representing a byte array form of the .NET Framework object] 26 <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> 27 <comment>This is a comment</comment> 27 28 </data> 28 29 … … 36 37 mimetype set. 37 38 38 The mimetype is used for serialized objects, and tells the39 The mimetype is used for serialized objects, and tells the 39 40 ResXResourceReader how to depersist the object. This is currently not 40 41 extensible. For a given mimetype the value must be set accordingly: … … 63 64 <xsd:complexType> 64 65 <xsd:choice maxOccurs="unbounded"> 66 <xsd:element name="metadata"> 67 <xsd:complexType> 68 <xsd:sequence> 69 <xsd:element name="value" type="xsd:string" minOccurs="0" /> 70 </xsd:sequence> 71 <xsd:attribute name="name" type="xsd:string" /> 72 <xsd:attribute name="type" type="xsd:string" /> 73 <xsd:attribute name="mimetype" type="xsd:string" /> 74 </xsd:complexType> 75 </xsd:element> 76 <xsd:element name="assembly"> 77 <xsd:complexType> 78 <xsd:attribute name="alias" type="xsd:string" /> 79 <xsd:attribute name="name" type="xsd:string" /> 80 </xsd:complexType> 81 </xsd:element> 65 82 <xsd:element name="data"> 66 83 <xsd:complexType> … … 90 107 </resheader> 91 108 <resheader name="version"> 92 <value> 1.3</value>109 <value>2.0</value> 93 110 </resheader> 94 111 <resheader name="reader"> 95 <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version= 1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>112 <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 96 113 </resheader> 97 114 <resheader name="writer"> 98 <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 99 </resheader> 100 <data name="treeCategory.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 101 <value>Private</value> 102 </data> 103 <data name="treeCategory.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 104 <value>Private</value> 105 </data> 106 <data name="treeCategory.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 107 <value>False</value> 108 </data> 109 <data name="buttonCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 110 <value>False</value> 111 </data> 112 <data name="buttonCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 113 <value>Private</value> 114 </data> 115 <data name="buttonCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 116 <value>Private</value> 117 </data> 118 <data name="buttonApply.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 119 <value>False</value> 120 </data> 121 <data name="buttonApply.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 122 <value>Private</value> 123 </data> 124 <data name="buttonApply.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 125 <value>Private</value> 126 </data> 127 <data name="buttonOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 128 <value>False</value> 129 </data> 130 <data name="buttonOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 131 <value>Private</value> 132 </data> 133 <data name="buttonOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 134 <value>Private</value> 135 </data> 136 <data name="labelTitle.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 137 <value>False</value> 138 </data> 139 <data name="labelTitle.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 140 <value>Private</value> 141 </data> 142 <data name="labelTitle.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 143 <value>Private</value> 144 </data> 145 <data name="panelContainer.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 146 <value>False</value> 147 </data> 148 <data name="panelContainer.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 149 <value>False</value> 150 </data> 151 <data name="panelContainer.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 152 <value>True</value> 153 </data> 154 <data name="panelContainer.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 155 <value>Private</value> 156 </data> 157 <data name="panelContainer.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 158 <value>Private</value> 159 </data> 160 <data name="panelContainer.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 161 <value>8, 8</value> 162 </data> 163 <data name="panelFacePatternList.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 164 <value>False</value> 165 </data> 166 <data name="panelFacePatternList.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 167 <value>False</value> 168 </data> 169 <data name="panelFacePatternList.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 170 <value>True</value> 171 </data> 172 <data name="panelFacePatternList.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 173 <value>Private</value> 174 </data> 175 <data name="panelFacePatternList.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 176 <value>Private</value> 177 </data> 178 <data name="panelFacePatternList.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 179 <value>8, 8</value> 180 </data> 181 <data name="label4.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 182 <value>False</value> 183 </data> 184 <data name="label4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 185 <value>Private</value> 186 </data> 187 <data name="label4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 188 <value>Private</value> 189 </data> 190 <data name="linkWebSite.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 191 <value>Private</value> 192 </data> 193 <data name="linkWebSite.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 194 <value>Private</value> 195 </data> 196 <data name="linkWebSite.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 197 <value>False</value> 198 </data> 199 <data name="buttonBrowse.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 200 <value>False</value> 201 </data> 202 <data name="buttonBrowse.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 203 <value>Private</value> 204 </data> 205 <data name="buttonBrowse.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 206 <value>Private</value> 207 </data> 208 <data name="listViewFaces.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 209 <value>False</value> 210 </data> 211 <data name="listViewFaces.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 212 <value>Private</value> 213 </data> 214 <data name="listViewFaces.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 215 <value>Private</value> 216 </data> 217 <data name="imageListFacePreviews.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 218 <value>Private</value> 219 </data> 220 <data name="imageListFacePreviews.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 221 <value>Private</value> 222 </data> 223 <data name="imageListFacePreviews.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 224 <value>17, 17</value> 225 </data> 226 <data name="panelAppearance.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 227 <value>False</value> 228 </data> 229 <data name="panelAppearance.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 230 <value>False</value> 231 </data> 232 <data name="panelAppearance.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 233 <value>True</value> 234 </data> 235 <data name="panelAppearance.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 236 <value>Private</value> 237 </data> 238 <data name="panelAppearance.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 239 <value>Private</value> 240 </data> 241 <data name="panelAppearance.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 242 <value>8, 8</value> 243 </data> 244 <data name="checkMouseMessage.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 245 <value>False</value> 246 </data> 247 <data name="checkMouseMessage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 248 <value>Private</value> 249 </data> 250 <data name="checkMouseMessage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 251 <value>Private</value> 252 </data> 253 <data name="label3.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 254 <value>False</value> 255 </data> 256 <data name="label3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 257 <value>Private</value> 258 </data> 259 <data name="label3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 260 <value>Private</value> 261 </data> 262 <data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 263 <value>False</value> 264 </data> 265 <data name="label2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 266 <value>Private</value> 267 </data> 268 <data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 269 <value>Private</value> 270 </data> 271 <data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 272 <value>False</value> 273 </data> 274 <data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 275 <value>Private</value> 276 </data> 277 <data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 278 <value>Private</value> 279 </data> 280 <data name="trackBarOpacity.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 281 <value>False</value> 282 </data> 283 <data name="trackBarOpacity.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 284 <value>Private</value> 285 </data> 286 <data name="trackBarOpacity.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 287 <value>Private</value> 288 </data> 289 <data name="toolTipPreviewDetail.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 290 <value>Private</value> 291 </data> 292 <data name="toolTipPreviewDetail.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 293 <value>183, 17</value> 294 </data> 295 <data name="toolTipPreviewDetail.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 296 <value>Private</value> 297 </data> 298 <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 299 <value>False</value> 300 </data> 301 <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 302 <value>(Default)</value> 303 </data> 304 <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 305 <value>False</value> 306 </data> 307 <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 308 <value>False</value> 309 </data> 310 <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 311 <value>8, 8</value> 312 </data> 313 <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 314 <value>True</value> 315 </data> 316 <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 317 <value>80</value> 318 </data> 319 <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 320 <value>False</value> 321 </data> 322 <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 323 <value>Private</value> 324 </data> 325 <data name="$this.Name"> 326 <value>ConfigurationForm</value> 115 <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 116 </resheader> 117 <data name="imageListConfigTreeIcon.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64"> 118 <value> 119 AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMzYw 120 MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT 121 eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA 122 AACoHQAAAk1TRnQBSQFMAgEBAgEAAQUBAAEEAQABIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgD 123 AAGAAwABIAMAAQEBAAEgBgABQBIAMP8B9ALzAf8B3QHbAdoB/wG1ArQB/wOwAf8DsAH/AbUCtAH/AdgB 124 1gHVAf8B8gHxAfCx//8AAQAk/wHtAusB/wOwAf8BgQGDAYQB/wFmAW0BcgH/AWgBdQF9Af8BfgGRAZsB 125 /wF6AYwBmAH/AW0BfQGHAf8BcgGCAYsB/wFxAYABhwH/AWYBbQFyAf8CfgF9Af8BrAGrAaoB/wHoAecB 126 5qX//wABABz/AeIB4QHfAf8ChgGHAf8BWwFmAWsB/wF+AZEBmwH/AaEBuwHJAf8BxQHhAfIB/wHZAfgC 127 /wGOAaEBrQH/AWMBcAF3Af8BcQGAAYUB/wFlAXIBewH/AZIBpwGxAf8BzAHpAfcB/wGkAb0BzAH/AX4B 128 kQGbAf8BWwFmAWsB/wGBAYMBhAH/Ad0B2wHanf//AAEAFf8B/gH9Af8DmwH/AVgBYQFlAf8BkgGnAbEB 129 /wHMAekB9wH/AdkB+AL/AdQB8gL/AdkB+AL/AY4BoQGtAf8BaAF1AX0B/wHKAeYB8gH/AdkB9QL/AccB 130 4gHwAf8BYwFwAXcB/wGZAa0BuwH/AdwB+gL/AdkB+AL/Ac4B6wH6Af8BkQGoAbMB/wFbAWYBawH/AZQB 131 kgGRAf8B/AH6AfmV//8AAQAQ/wH3AfYB9QH/AWYBbQFyAf8BZAF1AY4B/wHMAekB9wH/AdwB+gL/Ac0B 132 6gL/AcoB6AL/AdAB7QL/AcsB5gH5Af8BYwFwAXcB/wHMAegB+wH/Ad4B/QL/AdkB+AL/Ad4B/QL/AcEB 133 3QHwAf8BZQFyAXsB/wHRAe4B/QH/Ac4B6wL/AcoB6AL/AdwB+gL/Ac4B6wH6Af8BdwGKAZwB/wFYAV8B 134 aAH/AegB5wHmGf8BhAGGAYQB/wGEAYYBhAH/AYQBhgGEAf8BhAGGAYQB/wGEAYYBhAH/AYQBhgGEAf8B 135 hAGGAYQB/wGEAYYBhAH/AYQBhgGEAf8BhAGGAYQB/wGEAYYBhAH/AYQBhgGEAf8BhAGGAYQB/wGEAYYB 136 hAH/AYQBhgGEAf8BhAGGAYQB/wGEAYYBhAH/AYQBhgGEAf8BhAGGAYQB/wGEAYYBhAH/AYQBhgGEAf8B 137 hAGGAYQB/wGEAYYBhAH/AYQBhgGEAf8BhAGGAYQB/wGEAYYBhAH/AYQBhgGEAf8BhAGGAYQB/wGEAYYB 138 hAX//wABAAz/Ae0C6wH/AXcCeAH/AWwBgwGjAf8BfAGeAv8BmQG6Av8BfAGeAv8BcgGTAfwB/wG5AdcC 139 /wHUAfIC/wG+AdgB6wH/AUABSQFOAf8BcgGCAYsB/wFyAYIBiwH/AXIBggGLAf8BcgGCAYsB/wFtAX0B 140 hwH/AVgBYQFlAf8BywHmAfkB/wHSAe4C/wF2AZgB/QH/AYIBowH+Af8BggGjAf4B/wGZAboC/wFcAXcB 141 vgH/AWYBaQFnAf8B2QHYAdcR/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB 142 /wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB 143 /wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB/wGEAgAB 144 /wGEAgAB/wGEAgAB/wGEAYYBhAX//wABAAX/Af4B/QH/A5sB/wE9AUQBRwH/AVYBYwFrAf8B3gH9Av8B 145 dgGYAf0B/wFEAWQB5wH/AVoBfQH+Af8BfAGeAv8B0gHuAv8BzwHsAv8BzQHqAv8BtQHOAd4B/wGqAcEB 146 zwH/AaoBwQHPAf8BqgHBAc8B/wGqAcEBzwH/AaoBwQHPAf8BuwHVAeUB/wHPAewC/wHUAfIC/wGZAboC 147 /wFaAX0B/gH/AVoBfQH+Af8BUAFwAekB/wHPAfAC/wF+AZEBmwH/ATUBOgE+Af8BdwJ4Af8B4gHhAd8J 148 /wGEAgBt/wGEAgAB/wGEAYYBhAX//wABAAT/A5sB/wF3AYkBlAH/AXoBjAGYAf8BiAGdAaoB/wHcAfoC 149 /wHKAegC/wFkAXUBjgH/AVYBYwFrAf8BpwG+AckB/wHZAfgC/wHWAfQC/wHPAewC/wHSAfAC/wHSAfAC 150 /wHSAfAC/wHSAfAC/wHSAfAC/wHSAfAC/wHSAfAC/wHQAe0C/wHWAfQC/wHZAfUC/wGeAbQBvQH/AUQB 151 TgFXAf8BdwGKAZwB/wHcAfoC/wGqAcYB2AH/AWUBcgF7Af8BogG8AcoB/wFbAWYBawH/AfIB8QHwBf8B 152 hAIAbf8BhAIAAf8BhAGGAYQF//8AAQAB8gHxAfAB/wFdAWkBcAH/AdQB8gL/AW0BfQGHAf8BnQG0AcIB 153 /wHUAfIC/wHSAfAC/wHeAf0C/wGnAb4ByQH/AV0BaQFwAf8BYwFwAXcB/wGlAboBxgH/AdQB8gL/AdIB 154 7gL/Ac4B6wL/Ac4B6wL/Ac4B6wL/Ac4B6wL/Ac4B6wL/AdIB7gL/AdIB7gL/AacBvgHJAf8BYwFwAXcB 155 /wFjAXABdwH/AbABxwHSAf8B3AH6Av8B0gHwAv8BvgHYAesB/wFdAWkBcAH/AdkB+AL/AX4BkQGbAf8B 156 rAGrAaoF/wGEAgBt/wGEAgAB/wGEAYYBhAX//wABAAHVAdEBzgH/AXEBgAGHAf8B3AH6Av8BXQFpAXAB 157 /wG2Ac8B4QH/AdQB8gL/AcgB4wH2Af8BhQGWAaIB/wF9AY0BlwH/AW0BfAGDAf8BQAFJAU4B/wILAQwB 158 /wFEAU4BVwH/AccB4gHwAf8B0gHwAv8BzgHrAv8BzgHrAv8BzgHrAv8B0gHwAv8BuwHVAeUB/wE9AUQB 159 RwH/AgsBDAH/AT0BRAFHAf8BbQF8AYMB/wF9AY0BlwH/AYUBlgGiAf8BzAHoAfsB/wHFAeEB8gH/AVsB 160 ZgFrAf8BywHmAfkB/wGiAbwBzgH/AoYBhwX/AYQCAG3/AYQCAAH/AYQBhgGEBf//AAEAAcoByAHGAf8B 161 dwGJAZQB/wHUAfIC/wFWAWMBawH/AcEB3QHwAf8B0gHwAv8BygHkAfYB/wGOAaEBrQH/AY4BoQGtAf8B 162 kwGoAa8B/wFSAVwBYQH/AgsBDAH/AYgBnQGqAf8BzgHrAfoB/wHPAewC/wHOAesC/wHOAesC/wHOAesC 163 /wHQAe0C/wHMAekB9wH/AX0BjQGXAf8CCwEMAf8BVgFjAWsB/wGTAagBrwH/AY4BoQGtAf8BjgGhAa0B 164 /wHMAegB+wH/AcwB6AH7Af8BWwFmAWsB/wHBAd0B8AH/AaoBxgHYAf8BgQGDAYQF/wGEAgBt/wGEAgAB 165 /wGEAYYBhAX//wABAAHlAeQB4wH/AV0BaQFwAf8BwQHdAfAB/wFdAWkBcAH/AcgB4wH2Af8B0AHtAv8B 166 zgHrAv8B3gH9Av8BxwHiAfAB/wFoAXUBfQH/AUoBVQFcAf8BpwG+AckB/wHZAfgC/wHOAesC/wHOAesC 167 /wHOAesC/wHOAesC/wHOAesC/wHOAesC/wHPAewC/wHZAfgC/wGwAcgB1gH/AVIBXAFhAf8BcQGAAYcB 168 /wHOAesB+gH/AdwB+gL/AdAB7QL/Ac4B6wL/AVsBZgFrAf8BygHkAfYB/wGIAZoBpQH/A5sF/wGEAgBt 169 /wGEAgAB/wGEAYYBhAX//wABAAT/AawBqwGqAf8BQAFJAU4B/wFNAWEBbgH/Ac8B7AH+Af8B0AHtAv8B 170 1AHyAv8BpQG6AcYB/wFEAU4BVwH/AYgBmgGlAf8B1gH0Av8B2QH1Av8BzgHrAv8BzgHrAv8BzgHrAv8B 171 zgHrAv8BzgHrAv8BzgHrAv8BzgHrAv8BzgHrAv8BzgHrAv8B1gH0Av8B0QHuAf0B/wF9AY0BlwH/AUoB 172 VQFcAf8BsAHIAdYB/wHUAfIC/wHUAfIC/wFdAWkBcAH/AVEBaAF8Af8BTQFhAW4B/wH3AfQB8gX/AYQC 173 AG3/AYQCAAH/AYQBhgGEBf//AAEAAfQC8wH/AacBpAGhAf8BAgFFAXoB/wEbAYoB2wH/AcMB5gH+Af8B 174 0gHtAv8B0gHwAv8BtgHPAeEB/wG7AdUB5QH/AdkB+AL/Ac8B7AL/Ac4B6wL/Ac4B6wL/Ac4B6wL/Ac4B 175 6wL/Ac4B6wL/Ac4B6wL/Ac4B6wL/Ac4B6wL/Ac4B6wL/Ac4B6wL/Ac4B6wL/AdAB7QL/AdkB+AL/AbUB 176 zgHeAf8BugHWAeoB/wHSAfAC/wHVAesB+wH/AVkBmgHIAf8BAAFtAckB/wEIAVQBiwH/AZQBkgGRBf8B 177 hAIAbf8BhAIAAf8BhAGGAYQF//8AAQABuQGyAa4B/wEAASYBRQH/AQABlgL/AQIBiwHsAf8BnQHWAf0B 178 /wHZAfIC/wHOAesC/wHZAfUC/wHUAfIC/wHOAesC/wHOAesC/wHPAewC/wHQAe0C/wHOAesC/wHOAesC 179 /wHOAesC/wHOAesC/wHOAesC/wHOAesC/wHOAesC/wHQAe0C/wHPAewC/wHOAesC/wHOAesC/wHWAfQC 180 /wHZAfUC/wHPAewC/wHSAe0C/wE/AaEB5wH/AQIBiwHsAf8BAAGRAfkB/wEIAScBPgX/AYQCAG3/AYQC 181 AAH/AYQBhgGEBf//AAEAAfoB9wH2Af8BVgFjAWsB/wEAAWoBuQH/AQABkQH5Af8BXwGxAekB/wHcAfEB 182 /gH/AcUB4wH4Af8BgQGsAcsB/wHMAegB+AH/AdkB8gL/AdkB8gL/AdUB7gH+Af8BwwHhAfYB/wHOAesC 183 /wHOAesC/wHOAesC/wHOAesC/wHOAesC/wHOAesC/wHKAegC/wHBAd0B8AH/AdwB8QH+Af8B2QHyAv8B 184 2QHyAv8BxQHhAfIB/wGKAbUB1QH/AdMB7AH9Af8BqgHeAf4B/wEQAYsB4gH/AQABlQH9Af8BAwFZAZoB 185 /wGBAYMBhAX/AYQCAG3/AYQCAAH/AYQBhgGEBf//AAEABP8B9QHtAegB/wEyAUsBXAH/AQABkQH5Af8B 186 CAFUAYsB/wF/AZ8BtAH/AdkB8gL/ATwBhQG5Af8BNAGMAc4B/wGLAbwB2wH/AYsBvAHbAf8BRQGSAcoB 187 /wFZAZoByAH/AdYB7wL/Ac4B6wL/Ac4B6wL/Ac4B6wL/Ac4B6wL/AdAB7QL/AcoB5AH2Af8BPAGFAbkB 188 /wFIAZsB2AH/AYsBvAHbAf8BgQG4AdsB/wEjAYUBzAH/AVkBmgHIAf8B3wH1Av8BWQGaAcgB/wEBAYYB 189 6gH/AQEBhgHqAf8BcgGCAYsB/wH+AfwB+wX/AYQCAG3/AYQCAAH/AYQBhgGEBf//AAEAAd0B2wHaAf8B 190 WwFmAWsB/wEDAVkBmgH/AQABmwH+Af8BAAFqAbkB/wEMAUMBagH/AaoB3gH+Af8BxwHiAfAB/wEjAYUB 191 zAH/AQABhAHiAf8BAAGEAeIB/wEjAYUBzAH/AbEB0QHmAf8B1QHwAv8BzgHrAv8BzgHrAv8BzgHrAv8B 192 zgHrAv8BzgHrAv8B1QHwAv8BngHJAeQB/wEYAXoBxAH/AQABhAHiAf8BAAF/AeAB/wFFAZIBygH/AdoB 193 7gH3Af8BsAHVAe8B/wEPATsBXAH/AQABkQH5Af8BAgF7AdEB/wF8AYIBhgH/AfgB9QHzBf8BhAIAbf8B 194 hAIAAf8BhAGGAYQF//8AAQABxgHAAbwB/wEAASYBRQH/AQABkQH5Af8BAQGdAv8BAAGRAfkB/wEDAVkB 195 mgH/ASkBnwHwAf8BUgGLAbMB/wFKAXsBnQH/AaAByQHhAf8BgQGsAcsB/wGxAdEB5gH/AdkB9QL/Ac8B 196 7AL/AdkB9QL/Ac8B7AL/Ac0B6gL/AdIB7gL/AdkB9QL/Ac4B6wL/AdUB8AL/AdIB7QL/AaAByQHhAf8B 197 ngHFAd0B/wGxAdEB5gH/AYIBwgHrAf8BLQF/AboB/wECAUUBegH/AQEBnQL/AQABkQH5Af8BAgFLAYUB 198 /wGBAYMBhAX/AYQCAG3/AYQCAAH/AYQBhgGEBf//AAEABP8BpwGkAaEB/wEWAUUBaQH/AQEBgQHbAf8B 199 BgGbAv8BNAGvAv8BAAGYAv8BAgFzAcoB/wEEATUBXAH/AXsBzAH8Af8BLQF/AboB/wElAU8BbAH/AcUB 200 6wH+Af8ByAHjAfYB/wGAAakBxQH/AcoB6AL/AdYB8gL/AboB1gHqAf8BhwGnAb0B/wHWAfIC/wHSAfAC 201 /wGHAacBvQH/Aa4B0QHqAf8B4gH6Av8BRAFhAXcB/wEAAW0ByQH/ATIBmAHdAf8BjQG5AdQB/wEsAbMC 202 /wEAAZgC/wEAAU0BkQH/AawBqwGqBf8BhAIAbf8BhAIAAf8BhAGGAYQF//8AAQAI/wHPAcYBvwH/AQ8B 203 OwFcAf8BAwGXAfoB/wGqAd4B/gH/AXsBzAH8Af8BVwG8Av8BUgGLAbMB/wEBAYYB6gH/AQABlQH9Af8B 204 BAE1AVwB/wFIAZsB2AH/AVcBqgHlAf8BAAEuAVcB/wFoAbMB5wH/Ad8B9QL/AVYBpAHbAf8BAAEuAVcB 205 /wGSAcoB8QH/AYIBwgHrAf8BAwEeATQB/wEjAYUBzAH/AVcBqgHlAf8BBAE1AVwB/wFZAbUB9QH/AaoB 206 3gH+Af8BpwHkAv8BFAF1AbgB/wEPATsBXAH/AW8BcAFyAf8B/gH8AfsF/wGEAgBt/wGEAgAB/wGEAYYB 207 hAX//wABAAT/Af4B/AH7Af8ChgGHAf8BEgFlAaAB/wFRAcAC/wGdAdYB/QH/AaIB2gL/AaoB3gH+Af8B 208 kwHaAv8BAwGZAv8BAQGdAv8BAwFZAZoB/wEAAWoBuQH/AQABmwH+Af8BAwE7AWYB/wECAXMBygH/AVYB 209 sgH0Af8BDgGUAfIB/wEDATsBZgH/AQIBewHRAf8BAgGLAewB/wEAASYBRQH/AQABhAHiAf8BAQGGAeoB 210 /wETAWwBqAH/AYMBygH7Af8BawHFAv8BigHUAv8BDAFDAWoB/wGjAZYBiw3/AYQCAG3/AYQCAAH/AYQB 211 hgGEBf//AAEABP8B+AH1AfMB/wEqATwBSQH/ARQBdQG4Af8BewHMAfwB/wGTAdoC/wFYAbwC/wEVAZ0C 212 /wEjAaUC/wEAAZYC/wEAAZYC/wEAAZUB/QH/AQABkwH9Af8BAAGaAv8BAgF7AdEB/wEBAYEB2wH/AQAB 213 kwH9Af8BAAGYAv8BAgF7AdEB/wECAYsB7AH/AQABlgL/AQIBewHRAf8BAAGRAfkB/wEAAZgC/wEAAZoC 214 /wEAAZYC/wFLAbsC/wGnAeQC/wEbAYoB2wH/ATMBQwFQAf8B+gH3AfYJ/wGEAgBt/wGEAgAB/wGEAYYB 215 hAX//wABAAj/AdUB0QHOAf8BSgFVAVwB/wECAUUBegH/AQIBewHRAf8BCAGdAv8BAAGTAf0B/wEAAZUB 216 /QH/AQABlgL/AQABlgL/AQABmAL/AQABmAL/AQABlgL/AQABmgL/AQABmAL/AQABlgL/AQABlgL/AQAB 217 mgL/AQABmAL/AQABlgL/AQABmgL/AQABmAL/AQABlgL/AQABmAL/AQEBgQHbAf8BIwGFAcwB/wETAWwB 218 qAH/AQIBRQF6Af8BiQGNAZAB/wH+AfwB+wn/AYQCAG3/AYQCAAH/AYQBhgGEBf//AAEADP8B/gH8AfsB 219 /wGzAa0BqQH/AYkBjQGQAf8BEgFlAaAB/wEAAZgC/wEAAZgC/wEAAZgC/wEAAZgC/wEAAZsB/gH/AQAB 220 mAL/AQABlgL/AQABlgL/AQABlgL/AQABlgL/AQABlgL/AQABlgL/AQABlgL/AQABlgL/AQABlgL/AQAB 221 lgL/AQABmAL/AQABmAL/AQEBXQGgAf8BAwEeATQB/wJ+AX0B/wHPAcYBvxH/AYQCAAH/AcYBxwHGAf8B 222 xgHHAcYB/wHGAccBxgH/AcYBxwHGAf8BxgHHAcYB/wHGAccBxgH/AcYBxwHGAf8BxgHHAcYB/wHGAccB 223 xgH/AcYBxwHGAf8BxgHHAcYB/wHGAccBxgH/AcYBxwHGAf8BxgHHAcYB/wHGAccBxgH/AcYBxwHGAf8B 224 xgHHAcYB/wHGAccBxgH/AcYBxwHGAf8BxgHHAcYB/wHGAccBxgH/AcYBxwHGAf8BxgHHAcYB/wHGAccB 225 xgH/AcYBxwHGAf8BxgHHAcYB/wHGAccBxgH/AYQCAAH/AYQBhgGEBf//AAEAFP8BdwJ4Af8BAgFLAYUB 226 /wEAAZEB8gH/AQABmAL/AQABlgL/AQABjQHxAf8BAgFzAcoB/wEAAYQB4gH/AQABmAL/AQABlgL/AQAB 227 lgL/AQABmAL/AQABmAL/AQABlgL/AQABlgL/AQABlgL/AQABmAL/AQABmwH+Af8BAAGVAf0B/wEAAZoC 228 /wEAAaIC/wEBAWIBqgH/AZQBkgGRFf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8B 229 hAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8B 230 hAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8B 231 hAIAAf8BhAIAAf8BhAIAAf8BhAGGAYQF//8AAQAR/wH+Af0B/wObAf8BTQFhAW4B/wElAU8BbAH/ARAB 232 SwF2Af8BEAFLAXYB/wEyAUsBXAH/AT0BRAFHAf8BAQFdAaAB/wEAAaIC/wEAAZsB/gH/AQABmwH+Af8B 233 AgGLAewB/wECAYsB7AH/AQABmAL/AQABmAL/AQEBnQL/AQABlgL/AQABTQGRAf8BDwE7AVwB/wEIAVQB 234 iwH/AQEBYgGqAf8BAAFNAZEB/wFEAU4BVwH/AfoB9wH2Ef8BhAIAAf8BhAIAAv8CAAH/AYQCAAL/AgAB 235 /wGEAgAC/wIAAf8BhAIAAv8CAAH/AYQCAAL/AgAB/wGEAgAC/wIAAf8BhAIAAv8CAAH/AYQCAAL/AgAB 236 /wGEAgAC/wIAAf8BhAIAA/8BAAL/AgAD/wEAAv8CAAP/AQAB/wGEAgAB/wIAAv8BhAGGAYQB/wGEAgAB 237 /wGEAYYBhAX//wABABn/Af4B/QH/AfUB7QHoAf8B5wHeAdkB/wHnAd4B2QH/AfcB9AHyAf8BZgFpAWcB 238 /wEAAU0BkQH/AQABagG5Af8BAQFdAaAB/wECAUsBhQH/ASoBPAFJAf8BAgFLAYUB/wEAAaIC/wEAAZgC 239 /wEAAWoBuQH/ARYBRQFpAf8BUQFMAUcB/wGUAZIBkQH/AcoByAHGAf8BlAGSAZEB/wGnAaQBoQH/AegB 240 5wHmFf8BhAIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8C 241 AAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf8B 242 hAIACf//AAEALP8DsAH/AXwBggGGAf8BgQGDAYQB/wGUAZIBkQH/AcYBwAG8Af8BrwGnAaAB/wECAUsB 243 hQH/AQABagG5Af8BDAFDAWoB/wFvAXABcgH/AdUB0QHOAf8BtQK0Af8BtQK0Kf8BhAIAAf8BhAIAAf8B 244 hAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8B 245 hAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8B 246 hAIAAf8BhAIAAf8BhAIAAf8BhAIAAf8BhAIADf//AAEAQP8BvQK/Af8BSgFVAVwB/wGBAYMBhAH/AdMB 247 ywHHCf8BbwFwAXIB/wHdAdsB2qH//wABAFT/AfcB9gH1Af8BygHIAcal//8AAQD//wH//wABAAFCAU0B 248 PgcAAT4DAAEoAwABgAMAASADAAEBAQABAQYAAQIWAAP//wD/AAMACw== 249 </value> 327 250 </data> 328 251 </root> -
/trunk/MacFaceFloat/MainForm.cs
r20 r30 21 21 public class MainForm : Misuzilla.Windows.Forms.AlphaForm 22 22 { 23 private System.Windows.Forms.NotifyIcon notifyIcon; 23 24 private System.Windows.Forms.ContextMenu contextMenu; 24 25 private System.Windows.Forms.MenuItem menuItemPatternSelect; … … 30 31 private FaceDef _currentFaceDef; 31 32 private Configuration _config; 32 33 Int32 prevUsage; 34 PerformanceCounter cpuCount; 35 PerformanceCounter pageoutCount; 36 PerformanceCounter pageinCount; 33 private float _patternSize; 34 35 private int prevPattern; 36 private FaceDef.PatternSuite prevSuite; 37 private int prevMarkers; 38 39 private CPUUsageCounter cpuCounter; 40 private MemoryUsageCounter memoryCounter; 37 41 38 42 // RXgN^ … … 43 47 this.MoveAtFormDrag = true; 44 48 45 prevUsage = -10; 46 47 cpuCount = new PerformanceCounter(); 48 cpuCount.CategoryName = "Processor"; 49 cpuCount.CounterName = "% Processor Time"; 50 cpuCount.InstanceName = "_Total"; 51 52 pageoutCount = new PerformanceCounter(); 53 pageoutCount.CategoryName = "Memory"; 54 pageoutCount.CounterName = "Pages Output/sec"; 55 56 pageinCount = new PerformanceCounter(); 57 pageinCount.CategoryName = "Memory"; 58 pageinCount.CounterName = "Pages Input/sec"; 49 prevPattern = -1; 50 prevSuite = FaceDef.PatternSuite.Normal; 51 prevMarkers = -1; 52 53 cpuCounter = new CPUUsageCounter(); 54 memoryCounter = new MemoryUsageCounter(); 59 55 60 56 _updateTimer = new System.Windows.Forms.Timer(); … … 65 61 66 62 void InitializeComponent() { 63 this.notifyIcon = new System.Windows.Forms.NotifyIcon(); 67 64 this.menuItemPatternSelect = new System.Windows.Forms.MenuItem(); 68 65 this.menuItemConfigure = new System.Windows.Forms.MenuItem(); 69 66 this.menuItemExit = new System.Windows.Forms.MenuItem(); 70 67 this.contextMenu = new System.Windows.Forms.ContextMenu(); 68 69 // 70 // notifyIcon 71 // 72 this.notifyIcon.Text = "MacFace"; 73 this.notifyIcon.Icon = this.Icon; 74 this.notifyIcon.Visible = true; 75 this.notifyIcon.ContextMenu = this.contextMenu; 76 71 77 // 72 78 // menuItemPatternSelect … … 189 195 _currentFaceDef = newFaceDef; 190 196 _facePath = _currentFaceDef.Path; 191 prevUsage = -10; 197 notifyIcon.Text = "MacFace - " + _currentFaceDef.Title; 198 prevPattern = -1; 199 prevMarkers = -1; 192 200 193 201 // XVÄJ … … 199 207 public void CountProcessorUsage(object sender, EventArgs e) 200 208 { 201 int usage = (int)cpuCount.NextValue(); 202 int pagein = (int)pageinCount.NextValue(); 203 int pageout = (int)pageoutCount.NextValue(); 204 205 usage /= 10; 206 if (usage > 10) { 207 usage = 10; 208 } else if (usage < 0) { 209 usage = 0; 209 CPUUsage cpuUsage = cpuCounter.CurrentUsage(); 210 MemoryUsage memUsage = memoryCounter.CurrentUsage(); 211 212 int pattern = cpuUsage.Active / 10; 213 214 FaceDef.PatternSuite suite = FaceDef.PatternSuite.Normal; 215 if (memUsage.Available < (10 * 1024 *1024)) 216 { 217 suite = FaceDef.PatternSuite.MemoryInsufficient; 218 } 219 else if (memUsage.Available < (30 * 1024 *1024)) 220 { 221 suite = FaceDef.PatternSuite.MemoryDecline; 210 222 } 211 223 212 224 int markers = FaceDef.MarkerNone; 213 if ( pagein > 0) markers += FaceDef.MarkerPageIn;214 if ( pageout > 0) markers += FaceDef.MarkerPageOut;215 216 if (prev Usage != usage)225 if (memUsage.Pagein > 0) markers += FaceDef.MarkerPageIn; 226 if (memUsage.Pageout > 0) markers += FaceDef.MarkerPageOut; 227 228 if (prevPattern != pattern || prevSuite != suite || prevMarkers != markers) 217 229 { 218 230 Graphics g = this.Graphics; 219 231 g.Clear(Color.FromArgb(0, 0, 0, 0)); 220 _currentFaceDef.DrawPatternImage(g, FaceDef.PatternSuite.Normal, usage, markers);232 _currentFaceDef.DrawPatternImage(g, suite, pattern, markers, _patternSize); 221 233 this.Update(); 222 234 } 223 235 224 prevUsage = usage; 225 } 226 236 prevPattern = pattern; 237 prevSuite = suite; 238 prevMarkers = markers; 239 } 240 241 public float PatternSize 242 { 243 get { return _patternSize; } 244 set { _patternSize = value; } 245 } 227 246 228 247 // … … 260 279 private void MainForm_Closing(object sender, CancelEventArgs e) 261 280 { 281 notifyIcon.Visible = false; 282 262 283 // Û¶ 263 284 _config.Opacity = (int) (this.Opacity * 100); … … 297 318 { 298 319 this.Opacity = (float)_config.Opacity / 100; 320 this.PatternSize = (float)_config.PatternSize / 100; 299 321 this.Location = _config.Location; 300 322 this.TransparentMouseMessage = _config.TransparentMouseMessage; -
/trunk/MacFaceForWin.sln
r20 r30 1 Microsoft Visual Studio Solution File, Format Version 8.00 1 Microsoft Visual Studio Solution File, Format Version 9.00 2 # Visual C# Express 2005 2 3 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MacFaceLibrary", "MacFaceLibrary\MacFaceLibrary.csproj", "{23267F41-38FE-41F6-BF08-2D8940A1E024}" 3 ProjectSection(ProjectDependencies) = postProject4 EndProjectSection5 4 EndProject 6 5 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MacFaceFloat", "MacFaceFloat\MacFaceFloat.csproj", "{60DE0E19-7B98-41E8-8001-A8C7A75AF08E}" … … 10 9 EndProject 11 10 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MacFaceTest", "MacFaceTest\MacFaceTest.csproj", "{40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}" 12 ProjectSection(ProjectDependencies) = postProject13 EndProjectSection14 11 EndProject 15 12 Global 16 GlobalSection(SolutionConfiguration ) = preSolution17 Debug = Debug18 Release = Release13 GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 Debug|Any CPU = Debug|Any CPU 15 Release|Any CPU = Release|Any CPU 19 16 EndGlobalSection 20 GlobalSection(ProjectConfiguration ) = postSolution21 {23267F41-38FE-41F6-BF08-2D8940A1E024}.Debug .ActiveCfg = Debug|.NET22 {23267F41-38FE-41F6-BF08-2D8940A1E024}.Debug .Build.0 = Debug|.NET23 {23267F41-38FE-41F6-BF08-2D8940A1E024}.Release .ActiveCfg = Release|.NET24 {23267F41-38FE-41F6-BF08-2D8940A1E024}.Release .Build.0 = Release|.NET25 {60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Debug .ActiveCfg = Debug|.NET26 {60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Debug .Build.0 = Debug|.NET27 {60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Release .ActiveCfg = Release|.NET28 {60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Release .Build.0 = Release|.NET29 {40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Debug .ActiveCfg = Debug|.NET30 {40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Debug .Build.0 = Debug|.NET31 {40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Release .ActiveCfg = Release|.NET32 {40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Release .Build.0 = Release|.NET17 GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 {23267F41-38FE-41F6-BF08-2D8940A1E024}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 {23267F41-38FE-41F6-BF08-2D8940A1E024}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 {23267F41-38FE-41F6-BF08-2D8940A1E024}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 {23267F41-38FE-41F6-BF08-2D8940A1E024}.Release|Any CPU.Build.0 = Release|Any CPU 22 {60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 {60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 {60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 {60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Release|Any CPU.Build.0 = Release|Any CPU 26 {40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 {40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 {40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 {40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Release|Any CPU.Build.0 = Release|Any CPU 33 30 EndGlobalSection 34 GlobalSection(ExtensibilityGlobals) = postSolution 35 EndGlobalSection 36 GlobalSection(ExtensibilityAddIns) = postSolution 31 GlobalSection(SolutionProperties) = preSolution 32 HideSolutionNode = FALSE 37 33 EndGlobalSection 38 34 EndGlobal -
/trunk/MacFaceLibrary/FaceDef.cs
r20 r30 18 18 public class FaceDef 19 19 { 20 // p^[XC[gID 20 21 public enum PatternSuite 21 22 { … … 25 26 } 26 27 28 public const int PatternCount = 11; 29 public const int ImageWidth = 128; 30 public const int ImageHeight = 128; 31 32 // }[J[ 27 33 public const int MarkerNone = 0x00; 28 34 public const int MarkerPageIn = 0x01; 29 35 public const int MarkerPageOut = 0x02; 30 36 37 // çp^[è`vpeBXgt@C¼ 31 38 private const string FaceDefName = "faceDef.plist"; 32 private const int PatternCols = 11; 33 private const int PatternRows = 3; 34 private const int ImageWidth = 128; 35 private const int ImageHeight = 128; 36 39 40 // çp^[è`ÌL[¼Ì 41 private const string KeyInfoTitle = "title"; 42 private const string KeyInfoAuthor = "author"; 43 private const string KeyInfoVersion = "version"; 44 private const string KeyInfoSiteURL = "web site"; 45 46 private const string KeyDefParts = "parts"; 47 private const string KeyDefPatterns = "pattern"; 48 private const string KeyDefMarkers = "markers"; 49 private const string KeyDefTitlePattern = "title pattern"; 50 51 private const string KeyPartImage = "filename"; 52 private const string KeyPartPosX = "pos x"; 53 private const string KeyPartPosY = "pos y"; 54 55 // 37 56 private string _path; 38 57 private string _title; … … 58 77 // îñ 59 78 _path = path; 60 _title = (def.ContainsKey("title") ? def["title"] as string : String.Empty);61 _author = (def.ContainsKey("author") ? def["author"] as string : String.Empty);62 _version = (def.ContainsKey("version") ? def["version"] as string : String.Empty);63 64 if (def.ContainsKey( "web site"))79 _title = ReadInfoString(def, KeyInfoTitle); 80 _author = ReadInfoString(def, KeyInfoAuthor); 81 _version = ReadInfoString(def, KeyInfoVersion); 82 83 if (def.ContainsKey(KeyInfoSiteURL)) 65 84 { 66 85 try 67 86 { 68 _webSite = new Uri(def[ "web site"] as string);87 _webSite = new Uri(def[KeyInfoSiteURL] as string); 69 88 } 70 89 catch (UriFormatException) {} … … 73 92 74 93 // p[cÌÇÝÝ 75 ArrayList partDefList = (ArrayList)def[ "parts"];94 ArrayList partDefList = (ArrayList)def[KeyDefParts]; 76 95 if (partDefList == null) 77 96 { … … 82 101 for (int i = 0; i < partDefList.Count; i++) 83 102 { 84 Hashtable partDef = (Hashtable)partDefList[i]; 85 string filename = (String)partDef["filename"]; 86 int x = (int)partDef["pos x"]; 87 int y = (int)partDef["pos y"]; 88 _parts[i] = new Part(System.IO.Path.Combine(path, filename), x, y); 89 } 103 _parts[i] = ReadPart(path, (Hashtable)partDefList[i]); 104 } 90 105 91 106 // p^[ÌÇÝÝ 92 ArrayList suiteDefList = (ArrayList)def["pattern"]; 93 _patternSuites = new Part[PatternRows][][]; 94 for (int i = 0; i < PatternRows; i++) 95 { 96 ArrayList suiteDef = (ArrayList)suiteDefList[i]; 97 Part[][] suite = new Part[PatternCols][]; 98 for (int j = 0; j < PatternCols; j++) 99 { 100 ArrayList patternDef = (ArrayList)suiteDef[j]; 101 Part[] pattern = new Part[patternDef.Count]; 102 for (int k = 0; k < patternDef.Count; k++) 103 { 104 pattern[k] = _parts[(int)patternDef[k]]; 105 } 106 suite[j] = pattern; 107 } 108 _patternSuites[i] = suite; 107 int suiteCount = PatternSuite.GetNames(typeof(PatternSuite)).Length; 108 ; 109 ArrayList suiteDefList = (ArrayList)def[KeyDefPatterns]; 110 _patternSuites = new Part[suiteCount][][]; 111 for (int i = 0; i < suiteCount; i++) 112 { 113 _patternSuites[i] = ReadPatternSuite(_parts, (ArrayList)suiteDefList[i]); 109 114 } 110 115 111 116 // }[J[ÌÇÝÝ 112 ArrayList markerDefList = (ArrayList)def[ "markers"];117 ArrayList markerDefList = (ArrayList)def[KeyDefMarkers]; 113 118 _markers = new Part[markerDefList.Count]; 114 119 for (int i = 0; i < markerDefList.Count; i++) … … 118 123 119 124 // ^Cgp^[ÌÇÝÝ 120 ArrayList titlePatternDef = (ArrayList)def["title pattern"]; 121 _titlePattern = new Part[titlePatternDef.Count]; 122 for (int i = 0; i < titlePatternDef.Count; i++) 123 { 124 _titlePattern[i] = _parts[(int)titlePatternDef[i]]; 125 } 126 } 127 128 public Uri WebSite 129 { 125 _titlePattern = ReadPattern(_parts, (ArrayList)def[KeyDefTitlePattern]); 126 } 127 128 private string ReadInfoString(Hashtable def, string key) 129 { 130 string str = def[key] as string; 131 return str != null ? str : ""; 132 } 133 134 private Part ReadPart(string path, Hashtable partDef) 135 { 136 string filename = (String)partDef[KeyPartImage]; 137 string imgPath = System.IO.Path.Combine(path, filename); 138 Image img = Image.FromFile(imgPath); 139 140 int x = (int)partDef[KeyPartPosX]; 141 int y = ImageHeight - (int)partDef[KeyPartPosY] - img.Height; 142 143 return new Part(imgPath, img, x, y); 144 } 145 146 private Part[] ReadPattern(Part[] parts, ArrayList patternDef) 147 { 148 Part[] pattern = new Part[patternDef.Count]; 149 for (int i = 0; i < patternDef.Count; i++) 150 { 151 pattern[i] = _parts[(int)patternDef[i]]; 152 } 153 return pattern; 154 } 155 156 private Part[][] ReadPatternSuite(Part[] parts, ArrayList suiteDef) 157 { 158 Part[][] suite = new Part[PatternCount][]; 159 for (int i = 0; i < PatternCount; i++) 160 { 161 suite[i] = ReadPattern(_parts, (ArrayList)suiteDef[i]); 162 } 163 return suite; 164 } 165 166 167 public string Path 168 { 169 get { return _path; } 170 } 171 172 public string Title 173 { 174 get { return _title; } 175 } 176 177 public string Author 178 { 179 get { return _author; } 180 } 181 182 public string Version 183 { 184 get { return _version; } 185 } 186 187 public Uri WebSite 188 { 130 189 get { return _webSite; } 131 190 } 132 191 133 public string /*Version*/ Version 134 { 135 get { return _version; } 136 } 137 138 public string Author 139 { 140 get { return _author; } 141 } 142 143 public string Title 144 { 145 get { return _title; } 146 } 147 148 public string Path 149 { 150 get { return _path; } 151 } 152 153 public Image TitleImage() 154 { 155 Bitmap image = new Bitmap(ImageWidth, ImageHeight); 156 Graphics g = Graphics.FromImage(image); 157 158 foreach (Part part in _titlePattern) 192 public Image TitleImage 193 { 194 get 195 { 196 Bitmap image = new Bitmap(ImageWidth, ImageHeight); 197 Graphics g = Graphics.FromImage(image); 198 199 foreach (Part part in _titlePattern) 200 { 201 g.DrawImage(part.Image, 202 part.Point.X, part.Point.Y, 203 part.Image.Size.Width, part.Image.Size.Height); 204 } 205 206 g.Dispose(); 207 return image; 208 } 209 } 210 211 public void DrawPatternImage(Graphics g, PatternSuite suite, int no, int markers, float rate) 212 { 213 Part[] pattern = _patternSuites[(int)suite][no]; 214 foreach (Part part in pattern) 159 215 { 160 216 g.DrawImage(part.Image, 161 part.Point.X, part.Point.Y, 162 part.Image.Size.Width, part.Image.Size.Height); 163 } 164 165 g.Dispose(); 166 return image; 217 part.Point.X * rate, part.Point.Y * rate, 218 part.Image.Size.Width * rate, part.Image.Size.Height * rate); 219 } 220 221 if (markers != 0) 222 { 223 for (int i = 0; i < 8; i++) 224 { 225 if ((markers & (1 << i)) != 0) 226 { 227 Part part = _markers[i]; 228 g.DrawImage(part.Image, 229 part.Point.X * rate, part.Point.Y * rate, 230 part.Image.Size.Width * rate, part.Image.Size.Height * rate); 231 } 232 } 233 } 167 234 } 168 235 … … 206 273 } 207 274 } 208 209 210 /*211 #import <Cocoa/Cocoa.h>212 213 //214 #define FACE_ROWMAX 3215 #define FACE_COLMAX 11216 #define FACE_PATMAX 8217 #define FACE_IMGW 128218 #define FACE_IMGH 128219 #define FACE_IMGSIZE (NSMakeSize(128,128))220 221 // }[J[rbg}XN222 #define FDMARKER_PAGEIN 0x0001223 #define FDMARKER_PAGEOUT 0x0002224 225 //226 #define FACE_INFO_TITLE @"title"227 #define FACE_INFO_AUTHOR @"author"228 #define FACE_INFO_VERSION @"version"229 #define FACE_INFO_SITE_URL @"web site"230 231 #define FACE_INFO_PARTS @"parts"232 #define FACE_INFO_PATTERN @"pattern"233 #define FACE_INFO_MARKER @"markers"234 #define FACE_INFO_TITLE_PATTERN @"title pattern"235 #define FACE_INFO_MARK_PGOUT @"pagein pattern"236 #define FACE_INFO_MARK_PGIN @"pageout pattern"237 238 #define FACE_PART_IMAGE @"filename"239 #define FACE_PART_POSX @"pos x"240 #define FACE_PART_POSY @"pos y"241 242 typedef struct {243 NSString *filename;244 NSImage *image;245 NSPoint pos;246 } PartDef;247 248 typedef struct {249 unsigned count;250 int parts[FACE_PATMAX];251 } PatternDef;252 253 254 @interface FaceDef : NSObject255 {256 NSString *packagePath;257 NSDictionary *definition;258 int partCount;259 PartDef *parts;260 PatternDef patterns[FACE_ROWMAX][FACE_COLMAX];261 int markers[8];262 PatternDef titlePattern;263 }264 265 + (NSDictionary*)infoAtPath:(NSString*)path;266 267 + (id)faceDefWithContentOfFile:(NSString*)path;268 269 - (id)initWithContentOfFile:(NSString*)path;270 271 - (NSString*)path;272 273 - (NSString*)title;274 - (NSString*)author;275 - (NSString*)version;276 - (NSString*)siteURL;277 278 - (NSImage*)titleImage;279 280 - (int)partCount;281 - (const PartDef*)partOfIndex:(int)index;282 - (const PatternDef*)patternOfRow:(int)row col:(int)col;283 - (int)patternCountOfRow:(int)row col:(int)col;284 - (int)patternNoOfRow:(int)row col:(int)col index:(int)index;285 286 - (NSImage*)imageOfRow:(int)row col:(int)col marker:(int)marker;287 288 - (void)drawImageOfRow:(int)row col:(int)col marker:(int)marker atPoint:(NSPoint)pt;289 - (void)drawPart:(PartDef*)part atPoint:(NSPoint)point;290 291 - (void)dumpPattern:(NSString*)path;292 293 @end294 295 @implementation FaceDef296 297 + (NSDictionary*)infoAtPath:(NSString*)path298 {299 NSDictionary *info;300 301 info = [NSDictionary dictionaryWithContentsOfFile:302 [path stringByAppendingPathComponent:@"faceDef.plist"]];303 304 return info;305 }306 307 + (id)faceDefWithContentOfFile:(NSString*)path308 {309 return [[[self alloc] initWithContentOfFile:path] autorelease];310 }311 312 - (id)initWithContentOfFile:(NSString*)path313 {314 NSDictionary *partDefDict;315 NSArray *partArray,*patternArray,*colArray,*elemArray;316 NSEnumerator *enumerator;317 NSString *imagePath;318 NSNumber *value;319 int i,count;320 int row,col,no;321 int maxPartNo;322 323 [super init];324 325 NS_DURING326 definition = [FaceDef infoAtPath:path];327 328 if (definition == nil) {329 [NSException raise:@"FaceDefInfoLoadException" format:@"failuer loading faceDef.plist"];330 }331 332 [definition retain];333 334 packagePath = [path retain];335 336 // p[cè`ÌÇÝÝ337 partArray = [definition objectForKey:FACE_INFO_PARTS];338 339 if ([partArray isMemberOfClass:[NSArray class]]) {340 [NSException raise:@"FaceDefPartListLoadException" format:@"failed in reading part list."];341 }342 343 parts = calloc([partArray count],sizeof(PartDef));344 count = [partArray count];345 346 for (partCount = 0; partCount < count; partCount++){347 partDefDict = [partArray objectAtIndex:partCount];348 parts[partCount].filename = [[partDefDict objectForKey:FACE_PART_IMAGE] retain];349 parts[partCount].pos.x = [(NSNumber*)[partDefDict objectForKey:FACE_PART_POSX] floatValue];350 parts[partCount].pos.y = [(NSNumber*)[partDefDict objectForKey:FACE_PART_POSY] floatValue];351 imagePath = [path stringByAppendingPathComponent:parts[partCount].filename];352 parts[partCount].image = [[NSImage alloc]initWithContentsOfFile:imagePath];353 354 if (parts[partCount].image == nil){ // æªÇÝßÈ©Á½355 [NSException raise:@"FaceDefPartLoadException"356 format:@"failed in loading of image '%@'",parts[partCount].filename];357 }358 }359 360 maxPartNo = count - 1;361 362 // p^[è`ÌÇÝÝ363 patternArray = [definition objectForKey:FACE_INFO_PATTERN];364 365 for (row = 0; row < FACE_ROWMAX; row++){366 colArray = [patternArray objectAtIndex:row];367 368 if ([colArray count] != FACE_COLMAX) {369 [NSException raise:@"FaceDefPatternLoadException"370 format:@"number of pattern columns is not 10 at row %d",row];371 }372 373 for (col = 0; col < FACE_COLMAX; col++){374 elemArray = [colArray objectAtIndex:col];375 enumerator = [[colArray objectAtIndex:col] objectEnumerator];376 for (i = 0; i <= FACE_PATMAX && (value = [enumerator nextObject]) != nil; i++){377 no = [value intValue];378 patterns[row][col].parts[i] = no;379 if (0 > no || no > maxPartNo) { // p[cÔ`FbN380 [NSException raise:@"FaceDefPatternLoadException"381 format:@"illigal part no %d in patterns[%d,%d,%d]",no,row,col,i];382 }383 }384 patterns[row][col].count = i;385 }386 }387 388 // }[J[XgÌÇÝÝ389 enumerator = [[definition objectForKey:FACE_INFO_MARKER] objectEnumerator];390 for (i = 0; i < 8 && (value = [enumerator nextObject]) != nil; i++){391 markers[i] = [value intValue];392 }393 394 // ã\æp^[ÌÇÝÝ395 enumerator = [[definition objectForKey:FACE_INFO_TITLE_PATTERN] objectEnumerator];396 for (i = 0; i <= FACE_PATMAX && (value = [enumerator nextObject]) != nil; i++){397 no = [value intValue];398 titlePattern.parts[i] = no;399 if (0 > no || no > maxPartNo) { // p[cÔ`FbN400 [NSException raise:@"FaceDefPatternLoadException"401 format:@"illigal part no %d in title pattern",no];402 }403 }404 titlePattern.count = i;405 NS_HANDLER406 NSLog(@"FaceDef load error: %@",localException);407 [self dealloc];408 self = nil;409 NS_ENDHANDLER410 411 return self;412 }413 414 - (void)dealloc415 {416 int i;417 418 [packagePath release];419 [definition release];420 421 if (parts != nil) {422 for (i = 0; i < partCount; i++){423 [parts[i].filename release];424 [parts[i].image release];425 }426 free(parts);427 }428 }429 430 -(NSString*)path431 {432 return packagePath;433 }434 435 -(NSString*)title436 {437 NSString *str;438 str = [definition objectForKey:@"title"];439 return (str != nil) ? str : @"";440 }441 442 -(NSString*)author443 {444 NSString *str;445 str = [definition objectForKey:@"author"];446 return (str != nil) ? str : @"";447 }448 449 -(NSString*)version450 {451 NSString *str;452 str = [definition objectForKey:@"version"];453 return (str != nil) ? str : @"";454 }455 456 - (NSString*)siteURL457 {458 NSString *str;459 str = [definition objectForKey:@"web site"];460 return (str != nil) ? str : @"";461 }462 463 - (NSImage*)titleImage464 {465 NSImage *image;466 int i;467 468 image = [[NSImage alloc] initWithSize:FACE_IMGSIZE];469 [image lockFocus];470 471 if (titlePattern.count > 0) {472 for (i=0; i<titlePattern.count; i++) {473 [self drawPart:&parts[titlePattern.parts[i]] atPoint:NSMakePoint(0,0)];474 }475 } else {476 [self drawImageOfRow:0 col:FACE_COLMAX marker:0 atPoint:NSMakePoint(0,0)];477 }478 479 [image unlockFocus];480 return [image autorelease];481 }482 483 - (int)partCount484 {485 return partCount;486 }487 488 - (const PartDef*)partOfIndex:(int)index489 {490 if (0 <= index && index < partCount) return &parts[index];491 else return nil;492 }493 494 - (const PatternDef*)patternOfRow:(int)row col:(int)col495 {496 if (0 <= row && row < FACE_ROWMAX497 && 0 <= col && col < FACE_COLMAX) return &patterns[row][col];498 else return nil;499 }500 501 - (int)patternCountOfRow:(int)row col:(int)col502 {503 if (0 <= row && row < FACE_ROWMAX504 && 0 <= col && col < FACE_COLMAX) return patterns[row][col].count;505 else return -1;506 }507 508 - (int)patternNoOfRow:(int)row col:(int)col index:(int)index509 {510 if (0 <= row && row < FACE_ROWMAX511 && 0 <= col && col < FACE_COLMAX512 && 0 <= index && index < patterns[row][col].count) return patterns[row][col].parts[index];513 else return -1;514 }515 516 - (NSImage*)imageOfRow:(int)row col:(int)col marker:(int)marker517 {518 NSImage *image;519 image = [[NSImage alloc] initWithSize:FACE_IMGSIZE];520 [image lockFocus];521 [self drawImageOfRow:row col:col marker:marker atPoint:NSMakePoint(0,0)];522 [image unlockFocus];523 return [image autorelease];524 }525 526 - (void)drawImageOfRow:(int)row col:(int)col marker:(int)marker atPoint:(NSPoint)point527 {528 int count;529 int i;530 531 count = patterns[row][col].count;532 for (i=0; i<count; i++){533 [self drawPart:&parts[patterns[row][col].parts[i]] atPoint:point];534 };535 536 if (marker != 0) {537 for (i=0; i<8; i++) {538 if (marker & (1<<i)) {539 [self drawPart:&parts[markers[i]] atPoint:point];540 }541 }542 }543 }544 545 - (void)drawPart:(PartDef*)part atPoint:(NSPoint)point546 {547 point.x += part->pos.x;548 point.y += part->pos.y;549 [part->image compositeToPoint:point operation:NSCompositeSourceOver];550 }551 552 -(void)dumpPattern:(NSString*)path;553 {554 NSImage *img;555 NSSize imgSize;556 NSPoint pos;557 float offset;558 int i,j,rows;559 NSMutableDictionary *attr;560 NSString *str;561 562 rows = partCount / FACE_COLMAX + 1;563 offset = rows * FACE_IMGW + 10;564 imgSize.width = FACE_IMGW * FACE_COLMAX;565 imgSize.height = FACE_IMGH * FACE_ROWMAX + offset + 14;566 567 img = [[NSImage alloc] initWithSize:imgSize];568 if (img == nil) {569 NSLog(@"failure dump pattern!");570 return;571 }572 573 [img lockFocus];574 [[NSColor whiteColor] set];575 NSRectFill(NSMakeRect(0,0,imgSize.width,imgSize.height));576 577 [[NSColor blackColor] set];578 NSRectFill(NSMakeRect(0,offset-6,imgSize.width,2));579 580 attr = [[NSMutableDictionary alloc] initWithObjectsAndKeys:581 [NSFont systemFontOfSize:14.0], NSFontAttributeName,582 [NSColor blackColor], NSForegroundColorAttributeName,583 nil];584 585 for (i = 0; i <= partCount; i++) {586 pos.x = (i % FACE_COLMAX) * FACE_IMGW;587 pos.y = (rows-1 - i / FACE_COLMAX) * FACE_IMGH;588 [self drawPart:&parts[i] atPoint:pos];589 590 str = [NSString stringWithFormat:@"%d",i];591 pos.x = (i % FACE_COLMAX) * FACE_IMGW;592 pos.y = (rows-1 - i / FACE_COLMAX) * FACE_IMGH + FACE_IMGH - 12;593 [str drawAtPoint:pos withAttributes:attr];594 }595 596 for (i = 0; i < FACE_ROWMAX; i++) {597 pos.y = (FACE_ROWMAX-1 - i) * FACE_IMGH + offset;598 for (j=0; j<FACE_COLMAX; j++) {599 pos.x = j * FACE_IMGW;600 [self drawImageOfRow:i col:j marker:0 atPoint:pos];601 }602 }603 604 pos.y = imgSize.height - 14;605 for (i = 0; i < FACE_COLMAX-1; i++) {606 str = [NSString stringWithFormat:@"%d-%d%%",i*10,(i+1)*10-1];607 pos.x = i * FACE_IMGW;608 [str drawAtPoint:pos withAttributes:attr];609 }610 str = [NSString stringWithFormat:@"%d%%",100];611 pos.x = (FACE_COLMAX-1) * FACE_IMGW;612 [str drawAtPoint:pos withAttributes:attr];613 614 [img unlockFocus];615 616 [[img TIFFRepresentation] writeToFile:path atomically:NO];617 [img release];618 }619 620 @end621 622 */ -
/trunk/MacFaceLibrary/MacFaceLibrary.csproj
r20 r30 85 85 HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll" 86 86 /> 87 <Reference 88 Name = "System.Management" 89 AssemblyName = "System.Management" 90 HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Management.dll" 91 /> 87 92 </References> 88 93 </Build> … … 91 96 <File 92 97 RelPath = "AssemblyInfo.cs" 98 SubType = "Code" 99 BuildAction = "Compile" 100 /> 101 <File 102 RelPath = "CPUUsage.cs" 103 SubType = "Code" 104 BuildAction = "Compile" 105 /> 106 <File 107 RelPath = "CPUUsageCounter.cs" 93 108 SubType = "Code" 94 109 BuildAction = "Compile" … … 105 120 /> 106 121 <File 107 RelPath = "HostStatistics.cs" 122 RelPath = "MemoryUsage.cs" 123 SubType = "Code" 124 BuildAction = "Compile" 125 /> 126 <File 127 RelPath = "MemoryUsageCounter.cs" 108 128 SubType = "Code" 109 129 BuildAction = "Compile" … … 111 131 <File 112 132 RelPath = "Part.cs" 133 SubType = "Code" 134 BuildAction = "Compile" 135 /> 136 <File 137 RelPath = "Pentium4UsageCounter.cs" 113 138 SubType = "Code" 114 139 BuildAction = "Compile" -
/trunk/MacFaceLibrary/Part.cs
r20 r30 15 15 { 16 16 private Image _image; 17 private string _ filename;17 private string _imagePath; 18 18 private Point _point; 19 19 20 /*public Part(string basePath, Hashtable partDef)21 {22 this.path = (string)Path.Combine(partDef["filename"]);23 this.x = (int)partDef["pos x"];24 this.y = (int)partDef["pos y"];25 }*/26 27 20 public Part(String path, int x, int y) 28 21 { 29 _ filename = System.IO.Path.GetFileName(path);22 _imagePath = path; 30 23 _image = Image.FromFile(path); 31 this.X = x;32 this.Y = y;24 _point.X = x; 25 _point.Y = y; 33 26 } 34 27 35 28 public Part(String path, Image image, int x, int y) 36 29 { 37 _filename = System.IO.Path.GetFileName(path);38 39 this.X = x;40 this.Y = y;30 _imagePath = path; 31 _image = image; 32 _point.X = x; 33 _point.Y = y; 41 34 } 42 35 43 36 public string FileName 44 37 { 45 get { return _filename; } 46 } 38 get 39 { 40 return System.IO.Path.GetFileName(_imagePath); 41 } 42 } 47 43 48 44 public Image Image … … 64 60 public int Y 65 61 { 66 get { return 128 - _point.Y - _image.Height; }67 set { _point.Y = 128 - value - _image.Height; }62 get { return _point.Y; } 63 set { _point.Y = value; } 68 64 } 69 65
Note: See TracChangeset
for help on using the changeset viewer.