protected override void ChangeNotLikedFragmentToLiked(PaintingFragment fragment) { if (fragmentLiked != null) { shapeDrawers[fragment] = new ShapeDrawer(shapeDrawers[fragmentLiked.Value]); } }
// public override event EventHandler ImageChanged; protected override void ChangeNotLikedFragmentToLiked(PaintingFragment fragment) { if (fragmentLiked != null) { colorsWithProbability[fragment] = new List<ColorProbabilityPair>(colorsWithProbability[fragmentLiked.Value]); } }
// public override event EventHandler ImageChanged; protected override void ChangeNotLikedFragmentToLiked(PaintingFragment fragment) { if (fragmentLiked != null) { topics[fragment] = topics[fragmentLiked.Value]; images[fragment] = googleTopicsImageFinder.GetPicture(topics[fragmentLiked.Value]); } }
public void ReviewPainting(PaintingFragment fragment, bool likedIt) { if (likedIt) { fragmentLiked = fragment; //if (Mode == PaintingMode.GoogleTopicsImages) { foreach (PaintingFragment value in Enum.GetValues(typeof (PaintingFragment))) { if (value != fragmentLiked.Value) { ChangeNotLikedFragmentToLiked(value); } } } } else { fragmentHated = fragment; ChangHatedFragment(); } UpdatePainting(); ImageChanged?.Invoke(this, EventArgs.Empty); }
protected CoordsRange PaintingFragmentToRange(PaintingFragment pf) { switch (pf) { case PaintingFragment.LeftTop: return new CoordsRange(new Coords(0, 0), new Coords(width/2, height/2)); case PaintingFragment.RightTop: return new CoordsRange(new Coords(width/2, 0), new Coords(width, height/2)); case PaintingFragment.LeftBottom: return new CoordsRange(new Coords(0, height/2), new Coords(width/2, height)); case PaintingFragment.RightBottom: return new CoordsRange(new Coords(width/2, height/2), new Coords(width, height)); default: throw new ArgumentOutOfRangeException(nameof(pf), pf, null); } }
protected bool DoesPaintingFragmentNeedRepaint(PaintingFragment pf) { return (!fragmentLiked.HasValue && !fragmentHated.HasValue) || (fragmentLiked.HasValue && pf != fragmentLiked.Value) || (fragmentHated.HasValue && pf == fragmentHated.Value); }
protected void clearFragment(PaintingFragment pf) { for (var x = 0; x < width; x++) for (var y = 0; y < height; y++) { if (CoordsToPaintingFragment(x, y) == pf) { Painting.SetPixel(x, y, Color.White); } } }
protected abstract void ChangeNotLikedFragmentToLiked(PaintingFragment fragment);