You're both right, if we take the correct usage of the two terms. The terms "Latino" and "Hispanic" get used interchangeably colloquially. Correctly used, Latino refers to Latin American origin, and Hispanic refers to Spanish blood line. So, now matter how pale the skin, you can't get any more Hispanic than a Spaniard. But a Spaniard from Spain is not "Latino" (although "Latin"), whereas a whitey of pure Spanish blood living in Mexico for generations is indeed a "Latino" (and "Hispanic" by default).
In proper usage, Latino means from Latin America. So, this would include portugese speaking Brazilians, spanish speaking Italian and German descendents in Argentina, etc. There is no race associated with Latino; you simply need to hail from Latin America. White folk of pure Spanish blood who have been in Mexico for 400 years are still considered Mexican (nationality) and Latino (geographic origin). White Spaniards from Spain are not "Latino" in American usage, although they are "Latin" like the French, Italians, Portuguese, etc. The term "Latin Lover" originally referred to hot studs from these regions, but has been recently co-opted by "Latinos" as well (who actually could be "Latin" if thier ancestors hail from any of these countries).
In proper usage, Hispanic means of Spanish descent. This includes any person living anywhere in the world who has Spanish (i.e. Spain) ancestry. So, this would not include most Brazilians or the tons of non-spanish white folk living in Argentina. A pure white person from Mexico would be Mexican by nationality, Hispanic by blood, and Latino by geographic origin. A half/half spaniard/native-mexican-indian would also qualify as all three. A pure native-mexican-indian would not, however, qualify as Hispanic -- only Mexican and Latino.