andymeneely / squib

A Ruby DSL for prototyping card games.
http://squib.rocks
MIT License
923 stars 67 forks source link

Embedded icon alignment not as expected #348

Open adsilcott opened 3 years ago

adsilcott commented 3 years ago

Squib's embedded icons feature is one of my favorite things about it! However, I've encountered an alignment issue in a specific circumstance. Either I'm doing something wrong or it's a bug.

Here is my code:

text str: data.buy, layout: :buy do |embed|
    embed.svg key: '[coin]', file: 'img/coin.svg', layout: :embedded
    embed.svg key: '[gem]',  file: 'img/gem.svg',  layout: :embedded
end

with the layout:

buy:
  extends: name
  x: 468
  y: 637
  width: 506
  height: 75
  align: right

embedded:
  height: 75
  width: 75
  align: center
  valign: middle

with the result: SquibExample001

Looks great!

However, when I change the code to add some text to the string: text str: data.buy.map{ |s| if (s != nil) then s = "Cost: " + s end }, layout: :buy do |embed|

here is the result: SquibExample002

Now the text is perfectly aligned, but the icons have dropped down a bit. Is the the correct behavior?

andymeneely commented 3 years ago

Ah, embedding. My albatross. Have you tried dx and dy to nudge the icons? That's how I fix it.

I have very little control over where it draws and I can't explain how it decides sometimes.

adsilcott commented 3 years ago

That fixed it, thanks! I wasn't aware of dx and dy--I should have read the text documentation a little more thoroughly.