Swelling and non weight bearing suggest broken leg.
also could suggest a sprained joint or torn tendon/ligament.
but yea an x-ray will tell what is it if its visible. I had a dog brake his leg and you could tell it was broke. the leg was broke in 2 places and took pinning and screws to get him fixed and he still doesn't put much weight on it unless he is running. I will ask the wife when she gets hm if she knows where the x-ray disc is and post a pic of his leg. I could hear the bones scraping against each other as he/I moved it around. this happened on a sat, sun got the x-ray, mon put him for surgery, tue and $1500 later I picked him up