Extract a method.
Prefix '_' to method names.
So they won't be part of the API.
Convert =~ to eq.
Renamed the prototype.
Convert $card_color to $card_suit .
It's called a suit in English - not "color":
Got rid of @selected_cards_.
It was too close to @selected_cards.
Clarify the is_card_on_top conditional.
Made it using _get_card_suit, _get_card_color and _get_card_rank.
Improved the POD of SDLx::Point2D.
Add the explicit copyright.
Renamed solitaire.pl as "impatience".
Also made it executable.
Update the TODO with two done items.
Add the Changes.
Add the README.
Change if( to if (/ etc.
This is a better formatting.
Add the t/pod.t to test for POD correctness.
Add the POD.
Extract the _handle_event method.
Convert the $type to a method dispatch.
Add to the TODO.
Extract two event methods.
Add the num ranks in suit.
Convert the number checks to _is_num.
Convert _is_layer_visible to a method.
Convert to _is_layer_visible.
Got rid of the _handler completely.
Refactoring: got rid of the other _handler-s.
Converted them to methods.
Fix a bug that the card_value stopped when it was 0.
Convert _on_dblclick to a method.
Convert to _on_click.