Pe o cărămidă stau.
Și mănânc o merdenea.
Și mănânc o merdenea.
Jun 1st
1. Get out you drink of choice.
2. Open three tabs in your favorite web browser
May 31st
Inchizând ușa de la dormitor și îndreptându-mă hotărât către frigiderul unde mă așteaptau cuminți placintele (încă mă așteaptă, trebuie să grăbesc postarea asta), mă lovi adevărul. Am găsit ce-mi lipsește.
De mâine îmi iau o oră de singurătate pe zi în scopuri pur meditative. Și totul va fi bine.
Gata, la placinte cu mine.
May 18th
So Robinson is sitting on his island alone one day looking out across the sea, when he sees a cruise ship approaching. The ship lands and there is a lot of hulabaloo about finding Robinson after being stranded on a deserted island for 20 years.
A gorgeous, young journalist is on the ship, and she comes down and asks Robinson for an interview. Robinson, not being ashamed about being naked says, “Okay.”
More >
May 17th
Primul mic articol despre WPF, vai, tu, am emoții.
Titlul e corect. Exact, nu să o adorăm, ci să o adornăm. Vrem să avem posibilitatea de a desena o linie (deocamdată folosind doar XAML) de care utilizatorul să poată să tragă. Vom face treaba asta cu adorneri.
Ce este un adorner?
Un adorner este un tip special de FrameworkElement. El se ”lipește” de un alt FrameworkElement (pe care se zice că îl adornează) și foarte important, este desenat intr-un alt plan (AdornerLayer) decât elementele normale. Întotdeauna AdornerLayer-ul va fi desenat deasupra elementului pe care îl adornează. Oricărui FrameworkElement i se poate atașa unul sau mai mulți adorneri, și partea faină este că lucrul ăsta nu implică în niciun fel modificarea elementului adornat. Putem crea adorneri pentru controale din .NET Framework, spre exemplu putem face un adorner pentru scoaterea în evidență a unui TextBox în care s-au introdus date aiurea.
Ce vrem noi să adornăm și de ce
O linie, o simplă linie. Vrem ca la runtime să putem trage de cele două capete și să o redimensionăm în felul ăsta. Deci ne-ar trebui un adorner pe linia aia, care să pună câte un guguloi în fiecare capăt și sa raspunda la drag.
Hai cu codul!
class LineAdorner : Adorner
{
private const int THUMB_SIZE = 10;
private Thumb _startThumb;
private Thumb _endThumb;
private VisualCollection _visualChilds;
protected override int VisualChildrenCount { get { return _visualChilds.Count; } }
protected override Visual GetVisualChild(int index) { return _visualChilds[index]; }
protected override Size ArrangeOverride(Size finalSize)
{
Line line = this.AdornedElement as Line;
var startRect = new Rect(
line.X1 - THUMB_SIZE / 2, line.Y1 - THUMB_SIZE / 2,
THUMB_SIZE, THUMB_SIZE);
_startThumb.Arrange(startRect);
var endRect = new Rect(
line.X2 - THUMB_SIZE / 2, line.Y2 - THUMB_SIZE / 2,
THUMB_SIZE, THUMB_SIZE);
_endThumb.Arrange(endRect);
return finalSize;
}
public LineAdorner(Line line)
: base(line)
{
_visualChilds = new VisualCollection(this);
_startThumb = new Thumb();
_startThumb.Opacity = 0.5;
_startThumb.DragDelta += (s, e) =>
{
Line adornedLine = this.AdornedElement as Line;
line.X1 = line.X1 + e.HorizontalChange;
line.Y1 = line.Y1 + e.VerticalChange;
};
_visualChilds.Add(_startThumb);
_endThumb = new Thumb();
_endThumb.Opacity = 0.5;
_endThumb.DragDelta += (s, e) =>
{
Line adornedLine = this.AdornedElement as Line;
line.X2 = line.X2 + e.HorizontalChange;
line.Y2 = line.Y2 + e.VerticalChange;
};
_visualChilds.Add(_endThumb);
}
}
Cam ăsta ar fi adornerul. Ce ar fi de punctat in codul de mai sus:
Cum folosim adornerul?
Păi uite așa:
<Window x:Class="Test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Test"
Title="MainWindow" Height="350" Width="525">
<AdornerDecorator>
<Canvas x:Name="theCanvas">
<Line X1="10" Y1="100" X2="150" Y2="110"
x:Name="theLine"
Stroke="Black" StrokeThickness="2"/>
</Canvas>
</AdornerDecorator>
</Window>
public MainWindow()
{
InitializeComponent();
AdornerLayer layer = AdornerLayer.GetAdornerLayer(theCanvas);
layer.Add(new LineAdorner(theLine));
}
Rezultatul este (sper) o linie de ale cărei capete putem trage.
Gata!
May 16th
Așadar. Ce-am făcut.
Trăgând fireasca concluzie că sunt un mare blogger nedescoperit, ce merită mai mult decât nimicurile oferite de blogspot, mi-am pus un wordpress.
Postările de mai jos sunt importate din defunctul pui-de-dac.blogspot.com, acum în plin proces de împăienjenire.
Primul lucru (dupa ce mi-am ales ca parola o obscenitate – hai, încercați!) a fost să găsesc un plugin pentru cod. Și câștigatorul a fost SyntaxHighlighter-ul asta.
public class PolygonEx : PolylineEx
{
//... some other code here
protected override System.Windows.Media.Geometry DefiningGeometry
{
get
{
StreamGeometry geometry = new StreamGeometry();
using (StreamGeometryContext context = geometry.Open())
{
context.BeginFigure(Points[0], false, true);
foreach (Point pt in Points)
{
context.LineTo(pt, true, true);
}
geometry.Freeze();
return geometry;
}
}
}
}
Eeee? Fain, nu? Având în vedere faptul că îl regăsim și prin alte 34241234 de bloguri cu cod pîn ele, normal că mi-e suficient și mie.
Ia să vedem care se prinde despre ce e vorba.
Sep 11th

Yep. Logitech Wave. 183 RON de la Sigmanet.
Mar 23rd
Cititorule, te simti… oae? Asta esti. Tu, impreuna cu mine, cu toti ceilalti locuitori ai acestei minunate tari.
Nici macar miorite nu ne-am putea numi. Ne lipsesc trairile sentimentale. Si daca stau si cuget cateva secunde in plus, realizez ca stam chiar mai prost decat cea mai ratata oaie. Pentru ca, chiar de ne lipseste coloana vertebrala, chiar daca inghitim ca curvele blazate orice ne arunca in fata alesii*, cand e vorba sa ne recunoastem limitarile si prostia ne transformam subit in sacali, mandri si plini de sine. Si eu sunt asa, si tu. O curva proasta cu impresii de Mona Lisa. Ai puterea de a nu te simti jignit? N-ai?
Screw you. Tarfo.
*alesii?… Nu, nu doar alesii. Toti. Inghitim tot, rusinati pe moment, apoi ne facem ca nu s-a-ntamplat nimic. Inghitim mitocania politistilor, zloata ce iese cu tupeu din gura fiecarui cocalar… Ni-i frica, jena?… Ba futu-va-n gura, stati ba drept!
Viata in Romania e absolut deprimanta. Poate doar in Bucuresti, poate mai mult aici, poate… desi n-as paria pe asta. As dori sa pot si eu spune ca o (cvasi)cunostinta ce locuieste peste ocean de ceva vreme: “Pentru mine, cand spui Romania e acelasi lucru cu a spune Uganda. La fel de mult ma intereseaza.”