code:
-- Mod: sandwiches
--Current version: 1.7

--i know that this is really bad written, but i still need to know how this works ...

sandwiches = {}
sandwiches.path = minetest.get_modpath("sandwiches")

dofile(sandwiches.path .. "/crops/peanuts.lua")
dofile(sandwiches.path .. "/support.lua")

-- NODES --

minetest.register_node("sandwiches:tabasco", {
	description = "Tabasco bottle",
	inventory_image = "tabasco.png",
	wield_image = "tabasco.png",
	drawtype = "plantlike",
	paramtype = "light",
	is_ground_content = false,
	tiles = {"tabasco.png"},
	groups = {vessel = 1, dig_immediate = 3, attached_node = 1, food_hot = 1, food_spicy = 1, food_sauce = 1},
	sounds = default.node_sound_glass_defaults(),
	selection_box = {
		type = "fixed",
		fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
	},
})

-- ITEMS --

minetest.register_craftitem("sandwiches:bread_slice", {
    description = "Bread slice",
    on_use = minetest.item_eat(1),
    groups = {  food_bread_slice = 1},
    inventory_image = "bread_slice.png"
})

minetest.register_craftitem("sandwiches:bread_crumbs", {
    description = "Bread crumbs",
    on_use = minetest.item_eat(1),
    groups = {food_bread_crumbs = 1},
    inventory_image = "bread_crumbs.png"
})

minetest.register_craftitem("sandwiches:american_sandwich", {
    description = "American sandwich",
    on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
    groups = {food_sandwich = 1},
    inventory_image = "american_sandwich.png"
})

minetest.register_craftitem("sandwiches:veggie_sandwich", {
    description = "Veggie sandwich",
    on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
    groups = {food_sandwich = 1},
    inventory_image = "veggie_sandwich.png"
})

minetest.register_craftitem("sandwiches:ham_sandwich", {
    description = "Ham sandwich",
    on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
    groups = {food_sandwich = 1},
    inventory_image = "ham_sandwich.png"
})

minetest.register_craftitem("sandwiches:sand_sandwich", {
    description = "Sand sandwich ... Ouch!",
    on_use = minetest.item_eat(5),
	groups = {food_sandwich = 1},
    inventory_image = "sand_sandwich.png"
})

minetest.register_craftitem("sandwiches:sweet_sandwich", {
    description = "Sweet sandwich",
    on_use = minetest.item_eat(8, "sandwiches:bread_crumbs"),
    groups = {food_sandwich = 1},
    inventory_image = "sweet_sandwich.png"
})

minetest.register_craftitem("sandwiches:triple_mega_sandwich", {
    description = "Triple mega sandwich",
    on_use = minetest.item_eat(12, "sandwiches:bread_crumbs"),
    groups = {food_big_sandwich = 1},
    inventory_image = "triple_mega_sandwich.png"
})

minetest.register_craftitem("sandwiches:italian_sandwich", {
	description = "Italian sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "italian_sandwich.png"
})

minetest.register_craftitem("sandwiches:rasperry_jam_sandwich", {
	description = "Rasperry Jam sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "rasperry_jam_sandwich.png"
})

minetest.register_craftitem("sandwiches:bacon_sandwich", {
	description = "Bacon sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "bacon_sandwich.png"
})

minetest.register_craftitem("sandwiches:egg_and_bacon_sandwich", {
	description = "Egg&Bacon sandwich",
	on_use = minetest.item_eat(8, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "egg_and_bacon_sandwich.png"
})

minetest.register_craftitem("sandwiches:grape_jelly_sandwich", {
	description = "Grape jelly sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "grape_jelly_sandwich.png"
})

minetest.register_craftitem("sandwiches:pb_and_j_sandwich", {
	description = "PeanutButter & Jelly sandwich",
	on_use = minetest.item_eat(8, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "pb_and_j_sandwich.png"
})

minetest.register_craftitem("sandwiches:hot_ham_sandwich", {
	description = "Hot ham sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "hot_ham_sandwich.png"
})

minetest.register_craftitem("sandwiches:hot_veggie_sandwich", {
	description = "Hot veggie sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "hot_veggie_sandwich.png"
})

minetest.register_craftitem("sandwiches:cheesy_sandwich", {
    description = "Cheesy sandwich",
    on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
    groups = {food_sandwich = 1},
    inventory_image = "american_sandwich.png"
})

minetest.register_craftitem("sandwiches:jam_sandwich", {
    description = "Jam sandwich",
    on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
    groups = {food_sandwich = 1},
    inventory_image = "jam_sandwich.png"
})

-- NON SANDWICH ITEMS --

minetest.register_craftitem("sandwiches:sweet_bread_pudding_raw", {
    description = "Uncooked sweet bread pudding",
    groups = {food_sweet_bread = 1},
    inventory_image = "sweet_bread_pudding_raw.png"
})

minetest.register_craftitem("sandwiches:sweet_bread_pudding", {
    description = "Sweet bread pudding",
    on_use = minetest.item_eat(10),
    groups = {food_sweet_bread = 1},
    inventory_image = "sweet_bread_pudding.png"
})

minetest.register_craftitem("sandwiches:raspberry_jam", {
    description = "Rasperry jam",
    on_use = minetest.item_eat(2),
    groups = {food_jam = 1, },
    inventory_image = "raspberry_jam.png"
})

minetest.register_craftitem("sandwiches:grape_jelly", {
    description = "Grape jelly",
    on_use = minetest.item_eat(2),
    groups = {food_jam = 1,  },
    inventory_image = "grape_jelly.png"
})

minetest.register_craftitem("sandwiches:ham", {
    description = "Ham",
    on_use = minetest.item_eat(1),
    groups = {food_ham = 1,  },
    inventory_image = "ham.png"
})

minetest.register_craftitem("sandwiches:chicken_strips", {
    description = "Chicken strips",
    on_use = minetest.item_eat(2),
    groups = {food_chicken = 1},
    inventory_image = "chicken_strips.png"
})

minetest.register_craftitem("sandwiches:raw_bacon", {
    description = "Raw Bacon",
    on_use = minetest.item_eat(1),
    groups = {food_bacon_raw = 1},
    inventory_image = "raw_bacon.png"
})

minetest.register_craftitem("sandwiches:crispy_bacon", {
    description = "Crispy Bacon",
    on_use = minetest.item_eat(2),
    groups = {food_bacon = 1,},
    inventory_image = "crispy_bacon.png"
})

minetest.register_craftitem("sandwiches:multi_jam", {
    description = "Multi jam",
    on_use = minetest.item_eat(2),
    groups = {food_jam = 1,},
    inventory_image = "multi_jam.png"
})

-- PEANUTS --

minetest.register_craftitem("sandwiches:peanuts", {
	description = "Peanuts",
	on_use = minetest.item_eat(1),
	inventory_image = "peanuts.png",
	groups = {food_peanuts = 1,},
})

minetest.register_craftitem("sandwiches:peanut_butter", {
    description = "Peanut Butter",
    on_use = minetest.item_eat(2),
    groups = {food_peanut_butter = 1},
    inventory_image = "peanut_butter.png"
})

-- COOKING --

minetest.register_craft({
    type = "cooking",
    output = "sandwiches:sweet_bread_pudding",
    recipe = "sandwiches:sweet_bread_pudding_raw",
    cooktime = 15,
})

minetest.register_craft({
    type = "cooking",
    output = "sandwiches:crispy_bacon",
    recipe = "sandwiches:raw_bacon",
    cooktime = 5,
})

-- CRAFTS --

minetest.register_craft({
	output = "sandwiches:bread_slice 4",
	type = "shapeless",
	recipe = {"group:food_bread"},
})

minetest.register_craft({
	output = "sandwiches:american_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_cucumber", "group:food_cheese", "sandwiches:ham"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:veggie_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_cucumber", "group:food_tomato", "group:food_potato"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:veggie_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_carrot", "group:food_onion", "group:food_beetroot"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:ham_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:ham", "sandwiches:ham", "sandwiches:ham"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:sand_sandwich",
	recipe = {
		{"default:sand", "default:sand", "default:sand"},
		{"default:cactus", "default:cactus", "default:cactus"},
		{"default:sand", "default:sand", "default:sand"},
	}
})

minetest.register_craft({
	output = "sandwiches:sweet_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"default:apple", "group:food_honey = 1", "default:apple"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:triple_mega_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_sandwich", "group:food_sandwich","group:food_sandwich"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:italian_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"flowers:mushroom_brown", "group:food_tomato", "group:food_cheese"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:rasperry_jam_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:raspberry_jam", "sandwiches:raspberry_jam", "sandwiches:raspberry_jam"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:grape_jelly_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:grape_jelly", "sandwiches:grape_jelly", "sandwiches:grape_jelly"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:bacon_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:crispy_bacon", "sandwiches:crispy_bacon", "sandwiches:crispy_bacon"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:egg_and_bacon_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:crispy_bacon", "mobs:chicken_egg_fried", "sandwiches:crispy_bacon"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:pb_and_j_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:peanut_butter", "sandwiches:grape_jelly", "sandwiches:peanut_butter"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:hot_ham_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:ham", "group:food_hot", "sandwiches:ham"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:hot_veggie_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_tomato", "group:food_hot", "group:food_potato"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:hot_veggie_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_carrot", "group:food_hot", "group:food_onion"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:cheesy_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_cheese","group:food_cheese", "group:food_cheese"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:jam_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_jam","group:food_jam", "group:food_jam"},
		{"", "sandwiches:bread_slice", ""},
	}
})

-- NON SANDWICH CRAFTS --

minetest.register_craft({
	output = "sandwiches:sweet_bread_pudding_raw",
	recipe = {
		{"sandwiches:bread_crumbs", "sandwiches:bread_crumbs", "sandwiches:bread_crumbs"},
		{"group:food_jam", "group:food_sugar", "group:food_jam"},
		{"sandwiches:bread_crumbs", "sandwiches:bread_crumbs", "sandwiches:bread_crumbs"},
	}
})

minetest.register_craft({
	output = "sandwiches:raspberry_jam 5",
	recipe = {
		{"farming:raspberries", "group:food_sugar", "farming:raspberries"},
		{"group:food_sugar", "group:food_pot", "group:food_sugar"},
		{"farming:raspberries", "group:food_sugar", "farming:raspberries"},
	},
	replacements = {{"farming:pot", "farming:pot"},{"group:food_pot", "farming:pot"}},
})

minetest.register_craft({
	output = "sandwiches:grape_jelly 5",
	recipe = {
		{"group:food_grapes", "group:food_sugar", "group:food_grapes"},
		{"group:food_sugar", "group:food_pot", "group:food_sugar"},
		{"group:food_grapes", "group:food_sugar", "group:food_grapes"},
	},
	replacements = {{"farming:pot", "farming:pot"},{"group:food_pot", "farming:pot"}},
})

minetest.register_craft({
	output = "sandwiches:multi_jam 5",
	recipe = {
		{"group:food_berry", "group:food_sugar", "group:food_berry"},
		{"group:food_sugar", "group:food_pot", "group:food_sugar"},
		{"group:food_berry", "group:food_sugar", "group:food_berry"},
	},
	replacements = {{"farming:pot", "farming:pot"},{"group:food_pot", "farming:pot"}},
})

minetest.register_craft({
	output = "sandwiches:multi_jam 3",
	type = "shapeless";
	recipe = {
		"group:food_jam", "group:food_jam", "group:food_jam",
	},
})

minetest.register_craft({
	output = "sandwiches:peanut_butter 5",
	type = "shapeless";
	recipe = {"sandwiches:peanuts", "sandwiches:peanuts", "sandwiches:peanuts",
		"sandwiches:peanuts", "sandwiches:peanuts", "sandwiches:peanuts",
		"farming:mortar_pestle","sandwiches:peanuts", "sandwiches:peanuts",
	},
	replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}},
})

minetest.register_craft({
	output = "sandwiches:ham 3",
	type = "shapeless";
	recipe = {"mobs:meat", "farming:cutting_board"},
	replacements = {{"group:food_cutting_board", "farming:cutting_board"}}
})

minetest.register_craft({
	output = "sandwiches:raw_bacon 3",
	type = "shapeless";
	recipe = {"mobs:pork_raw", "farming:cutting_board"},
	replacements = {{"group:food_cutting_board", "farming:cutting_board"}}
})

minetest.register_craft({
	output = "sandwiches:chicken_strips 3",
	type = "shapeless";
	recipe = {"mobs:chicken_cooked", "farming:cutting_board"},
	replacements = {{"group:food_cutting_board", "farming:cutting_board"}}
})

minetest.register_craft({
	output = "sandwiches:tabasco 3",
	type = "shapeless";
	recipe = {"farming:chili_pepper", "farming:chili_pepper", "farming:chili_pepper",
		"farming:chili_pepper", "farming:chili_pepper", "farming:chili_pepper",
		"farming:mortar_pestle", "vessels:glass_bottle",
	},
	replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
})


code:
-- TODO --

minetest.register_craftitem("sandwiches:ketchup", {
	description = "Ketchup bottle",
	inventory_image = "ketchup.png",
	groups = {food_sauce = 1, food_ketchup = 1},
})

minetest.register_craftitem("sandwiches:spicy_ketchup", {
	description = "Spicy ketchup bottle",
	inventory_image = "ketchup.png", -- colorize more red ?
	groups = {food_sauce = 1, food_ketchup = 1, food_spicy = 1, food_hot = 1},
})

minetest.register_craft({
	output = "sandwiches:ketchup 5",
	type = "shapeless";
	recipe = {"group:food_tomato", "group:food_tomato", "group:food_tomato",
		"group:food_sugar", "group:food_sugar", "group:food_sugar",
		"group:food_pot", "vessels:glass_bottle",
	},
	replacements = {{"farming:pot", "farming:pot"},{"group:food_pot", "farming:pot"}},
})

minetest.register_craft({
	output = "sandwiches:spicy_ketchup 5",
	type = "shapeless";
	recipe = {"group:food_tomato", "group:food_tomato", "group:food_chili_pepper",
		"group:food_sugar", "group:food_sugar", "group:food_sugar",
		"group:food_pot", "vessels:glass_bottle", "group:food_chili_pepper"
	},
	replacements = {{"farming:pot", "farming:pot"},{"group:food_pot", "farming:pot"}},
})

if(minetest.get_modpath("lemontree")) then

minetest.register_craft({
	output = "sandwiches:maionaisse 5",
	type = "shapeless";
	recipe = {"group:food_egg", "group:food_egg", "group:food_oil",
		"group:food_oil", "lemontree:lemon", "lemontree:lemon",
		"group:food_mixing_bowl", "vessels:glass_bottle",
	},
	replacements = {{"group:food_mixing_bowl", "farming:mixing_bowl"}}
})

minetest.register_craftitem("sandwiches:maionaisse", {
	description = "Maionaisse",
	inventory_image = "maionaisse.png",
	groups = {food_sauce = 1, food_maionaisse = 1},
})

end

repo_name: Bastrabun/sandwiches

license: unknown


code:
-- SANDWHICHES --

minetest.register_craftitem("sandwiches:caramelized_onion", {
	description = "Caramelized onion",
	on_use = minetest.item_eat(2),
	inventory_image = "caramelized_onion.png"
})

minetest.register_craftitem("sandwiches:tasty_chicken_sandwich", {
	description = "Tasty chicken sandwich",
	on_use = minetest.item_eat(8, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "tasty_ham_sandwich.png"
})

minetest.register_craftitem("sandwiches:tasty_ham_sandwich", {
	description = "Tasty ham sandwich",
	on_use = minetest.item_eat(8, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "tasty_ham_sandwich.png"
})

minetest.register_craftitem("sandwiches:tasty_bacon_sandwich", {
	description = "Tasty bacon sandwich",
	on_use = minetest.item_eat(8, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "tasty_bacon_sandwich.png"
})

minetest.register_craftitem("sandwiches:hamwich", {
	description = "Hamwich",
	on_use = minetest.item_eat(9, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "hamwich.png"
})

minetest.register_craftitem("sandwiches:jerky_sandwich", {
	description = "Jerky sandwich",
	on_use = minetest.item_eat(9, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "jerky_sandwich.png"
})

-- CRAFT --

minetest.register_craft({
	output = "sandwiches:caramelized_onion 4", -- this is just an excuse to have a use for molasses
	type = "shapeless";
	recipe = {"group:food_onion", "bbq:molasses", "group:food_skillet"},
	replacements = {{"group:food_skillet", "farming:skillet"}}
})

minetest.register_craft({
	output = "sandwiches:tasty_chicken_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:caramelized_onion", "sandwiches:chicken_strips", "sandwiches:caramelized_onion"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:tasty_ham_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:caramelized_onion", "group:food_ham", "sandwiches:caramelized_onion"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:tasty_bacon_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:caramelized_onion", "sandwiches:crispy_bacon", "sandwiches:caramelized_onion"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:hamwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_pepper", "bbq:hamburger_patty", "group:food_cheese"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:jerky_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_hot", "bbq:beef_jerky", "group:food_cheese"},
		{"", "sandwiches:bread_slice", ""},
	}
})


code:
-- SANDWICHES --

minetest.register_craftitem("sandwiches:tasty_asparagus_sandwich", {
	description = "Tasty asparagus sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1,  food_vegan = 1},
	inventory_image = "tasty_asparagus_sandwich.png"
})

minetest.register_craftitem("sandwiches:ham_and_asparagus_sandwich", {
	description = "Ham and asparagus sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "ham_and_asparagus_sandwich.png"
})

minetest.register_craftitem("sandwiches:tasty_tofu_sandwich", {
	description = "Tasty tofu sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "tasty_tofu_sandwich.png"
})

minetest.register_craftitem("sandwiches:classic_sandwich", {
	description = "Classic sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "classic_sandwich.png"
})

minetest.register_craftitem("sandwiches:classic_vegan_sandwich", {
	description = "Classic vegan sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1,  food_vegan = 1},
	inventory_image = "classic_vegan_sandwich.png"
})

minetest.register_craftitem("sandwiches:tofu_sandwich", {
	description = "Tofu sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1,  food_vegan = 1},
	inventory_image = "tofu_sandwich.png"
})

minetest.register_craftitem("sandwiches:blueberry_jam_sandwich", {
	description = "Blueberry jam sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "blueberry_jam_sandwich.png"
})

minetest.register_craftitem("sandwiches:gourmet_meat_sandwich", {
	description = "Gourmet meat sandwich",
	on_use = minetest.item_eat(9, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "gourmet_meat_sandwich.png"
})

minetest.register_craftitem("sandwiches:gourmet_vegan_sandwich", {
	description = "Gourmet vegan sandwich",
	on_use = minetest.item_eat(9, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1,  food_vegan = 1},
	inventory_image = "gourmet_vegan_sandwich.png"
})

minetest.register_craftitem("sandwiches:tasty_veggie_sandwich", {
	description = "Tasty veggie sandwich",
	on_use = minetest.item_eat(9, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1,  food_vegan = 1},
	inventory_image = "tasty_veggie_sandwich.png"
})

minetest.register_craftitem("sandwiches:club_sandwich", {
	description = "Club sandwich",
	on_use = minetest.item_eat(12, "sandwiches:bread_crumbs"),
	groups = {food_big_sandwich = 1, },
	inventory_image = "club_sandwich.png"
})

minetest.register_craftitem("sandwiches:blt_sandwich", {
	description = "BLT sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1, },
	inventory_image = "blt_sandwich.png"
})

-- NON SANDWICH ITEMS

minetest.register_craftitem("sandwiches:butter_carrots", {
	description = "Butter carrots",
	on_use = minetest.item_eat(2),
	inventory_image = "butter_carrots.png"
})

minetest.register_craftitem("sandwiches:roasted_potatoes", {
	description = "Roasted potatoes",
	on_use = minetest.item_eat(2),
	inventory_image = "roasted_potatoes.png"
})

-- CRAFT --

minetest.register_craft({
	output = "sandwiches:bread_slice 6",
	type = "shapeless",
	recipe = {"cucina_vegana:ciabatta_bread"},
})

minetest.register_craft({
	output = "sandwiches:butter_carrots 5",
	type = "shapeless",
	recipe = {
		"group:food_carrot", "group:food_carrot", "group:food_carrot",
		"group:food_skillet", "group:food_butter", "cucina_vegana:parsley",
	},
	replacements = {{"group:food_skillet", "farming:skillet"}}
})

minetest.register_craft({
	output = "sandwiches:roasted_potatoes 5",
	type = "shapeless",
	recipe = {
		"group:food_potato", "group:food_potato", "group:food_potato",
		"group:food_skillet", "group:food_oil", "cucina_vegana:rosemary",
	},
	replacements = {{"group:food_skillet", "farming:skillet"}}
})

-- SANDWICHES CRAFT --

minetest.register_craft({
	output = "sandwiches:hot_veggie_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:asparagus", "group:food_hot", "cucina_vegana:lettuce"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:tasty_asparagus_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:asparagus", "cucina_vegana:sauce_hollandaise", "cucina_vegana:asparagus"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:ham_and_asparagus_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:asparagus", "sandwiches:ham" ,"cucina_vegana:asparagus"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:tasty_tofu_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:asparagus", "cucina_vegana:tofu" ,"cucina_vegana:asparagus"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:classic_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:lettuce", "sandwiches:ham" ,"farming:tomato" },
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:classic_vegan_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:lettuce", "cucina_vegana:tofu" ,"farming:tomato" },
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:tofu_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:chives","cucina_vegana:tofu", "cucina_vegana:rosemary"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:blueberry_jam_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:blueberry_jam", "cucina_vegana:blueberry_jam", "cucina_vegana:blueberry_jam"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:gourmet_meat_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:chives", "sandwiches:ham" ,"cucina_vegana:sauce_hollandaise" },
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:gourmet_meat_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:chives", "sandwiches:chiken_strips" ,"cucina_vegana:sauce_hollandaise" },
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:gourmet_vegan_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:chives", "cucina_vegana:tofu" ,"cucina_vegana:sauce_hollandaise" },
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:gourmet_vegan_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:chives", "cucina_vegana:imitation_meat" ,"cucina_vegana:sauce_hollandaise" },
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:gourmet_vegan_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"cucina_vegana:chives", "cucina_vegana:imitation_poultry" ,"cucina_vegana:sauce_hollandaise" },
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:tasty_veggie_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:caramelized_onion", "sandwiches:butter_carrots" ,"sandwiches:roasted_potatoes" },
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:club_sandwich",
	recipe = {
		{"sandwiches:bread_slice", "group:food_tomato" , "sandwiches:bread_slice"},
		{"sandwiches:chiken_strips", "cucina_vegana:sauce_hollandaise" ,"sandwiches:crispy_bacon" },
		{"sandwiches:bread_slice", "cucina_vegana:lettuce", "sandwiches:bread_slice"},
	}
})

minetest.register_craft({
	output = "sandwiches:blt_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:crispy_bacon", "group:food_tomato" ,"cucina_vegana:lettuce" },
		{"", "sandwiches:bread_slice", ""},
	}
})

-- MOLASSES --

if minetest.registered_items["sandwiches:caramelized_onion"] then

	minetest.register_craft({
		output = "sandwiches:caramelized_onion 4",
		type = "shapeless";
		recipe = {"farming:onion", "cucina_vegana:molasses", "group:food_skillet"},
		replacements = {{"group:food_skillet", "farming:skillet"}}
	})

end


code:
-- banana_and_chocolate_sandwich, strawberry jam and strawberry_jam_sandwich are added.

minetest.register_craftitem("sandwiches:strawberry_jam", {
    description = "Strawberry jam",
    on_use = minetest.item_eat(2),
    groups = {food_jam = 1, },
    inventory_image = "strawberry_jam.png"
})

minetest.register_craftitem("sandwiches:strawberry_jam_sandwich", {
    description = "Strawberry Jam Sandwich",
    on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
    groups = {food_sandwich = 1},
    inventory_image = "strawberry_jam_sandwich.png"
})

minetest.register_craftitem("sandwiches:banana_and_chocolate_sandwich", {
	description = "Banana and chocolate sandwich",
	on_use = minetest.item_eat(7, "sandwiches:bread_crumbs"),
	groups = {food_sandwich = 1},
	inventory_image = "banana_and_chocolate_sandwich.png"
})

minetest.register_craftitem("sandwiches:elvis_sandwich", {
    description = "Elvis sandwich",
    on_use = minetest.item_eat(8, "sandwiches:bread_crumbs"),
    groups = {food_sandwich = 1},
    inventory_image = "elvis_sandwich.png"
})

-- CRAFTS --

minetest.register_craft({
	output = "sandwiches:strawberry_jam",
	recipe = {
		{"group:food_strawberry", "group:food_sugar", "group:food_strawberry"},
		{"group:food_sugar", "group:food_pot", "group:food_sugar"},
		{"group:food_strawberry", "group:food_sugar", "group:food_strawberry"},
	},
	replacements = {{"farming:pot", "farming:pot"},{"group:food_pot", "farming:pot"}},
})

minetest.register_craft({
	output = "sandwiches:strawberry_jam",
	recipe = {
		{"ethereal:strawberry", "group:food_sugar", "ethereal:strawberry"},
		{"group:food_sugar", "group:food_pot", "group:food_sugar"},
		{"ethereal:strawberry", "group:food_sugar", "ethereal:strawberry"},
	},
	replacements = {{"farming:pot", "farming:pot"},{"group:food_pot", "farming:pot"}},
})

minetest.register_craft({
	output = "sandwiches:strawberry_jam_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"sandwiches:strawberry_jam", "sandwiches:strawberry_jam", "sandwiches:strawberry_jam"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:banana_and_chocolate_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"group:food_banana", "farming:chocolate_dark", "group:food_banana"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:banana_and_chocolate_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"ethereal:banana", "farming:chocolate_dark", "ethereal:banana"},
		{"", "sandwiches:bread_slice", ""},
	}
})

minetest.register_craft({
	output = "sandwiches:elvis_sandwich",
	recipe = {
		{"", "sandwiches:bread_slice", ""},
		{"ethereal:banana", "sandwiches:peanut_butter", "sandwiches:crispy_bacon"},
		{"", "sandwiches:bread_slice", ""},
	}
})


code:
minetest.register_node("sandwiches:nutella_block", {
		description = "Nutella block",
		groups = {snappy = 1 , oddly_breakable_by_hand = 3, not_in_creative_inventory=1},
		paramtype2 = "facedir",
		tiles = {"nutella_block_top.png",
			"nutella_block_bottom.png",
			"nutella_block_side.png",
			"nutella_block_side.png",
			"nutella_block_side.png",
			"nutella_block_front.png"
		},
		sounds = default.node_sound_glass_defaults(),
	})

minetest.register_craftitem("sandwiches:nutella_sandwich", {
		description = "Nutella sandwich",
		on_use = minetest.item_eat(8, "sandwiches:bread_crumbs"),
		groups = {food_sandwich = 1},
		inventory_image = "nutella_sandwich.png"
	})

minetest.register_craftitem("sandwiches:acorn_nutella", {
		description = "Acorn nutella",
		on_use = minetest.item_eat(2),
		groups = {food_nutella = 1},
		inventory_image = "acorn_nutella.png"
	})

-- CRAFTS --

minetest.register_craft({
		output = "sandwiches:nutella_sandwich",
		recipe = {
			{"", "sandwiches:bread_slice", ""},
			{"sandwiches:acorn_nutella", "sandwiches:acorn_nutella", "sandwiches:acorn_nutella"},
			{"", "sandwiches:bread_slice", ""},
		}
	})

minetest.register_craft({
		output = "sandwiches:acorn_nutella 5",
		type = "shapeless",
		recipe = {
			"farming:cocoa_beans", "farming:cocoa_beans", "farming:cocoa_beans",
			"group:food_sugar", "group:food_sugar", "group:food_sugar",
			"moretrees:acorn", "moretrees:acorn", "moretrees:acorn",
		}
	})

	minetest.register_craft({
		output = "sandwiches:nutella_block",
		recipe = {
			{"sandwiches:acorn_nutella", "sandwiches:acorn_nutella", "sandwiches:acorn_nutella"},
			{"sandwiches:acorn_nutella", "sandwiches:acorn_nutella", "sandwiches:acorn_nutella"},
			{"sandwiches:acorn_nutella", "sandwiches:acorn_nutella", "sandwiches:acorn_nutella"}
		}
	})


code:
if minetest.registered_craftitems["ethereal:strawberry"] and minetest.registered_nodes["ethereal:banana"] then
	dofile(sandwiches.path .. "/luas/ethereal.lua")
end

if minetest.get_modpath ("moretrees") then
    dofile(sandwiches.path .. "/luas/nutella.lua")
end

if minetest.get_modpath ("cucina_vegana") then
    dofile(sandwiches.path .. "/luas/cucina_vegana.lua")
	minetest.register_alias("sandwiches:peanuts","cucina_vegana:peanut")
	minetest.register_alias("sandwiches:peanut_seed","cucina_vegana:peanut_seed")
end

if minetest.get_modpath ("bbq") then
    dofile(sandwiches.path .. "/luas/bbq.lua")
end


code:
chicken strips---done
generic jam and generic jam sandwich -- done

bbq's -- done
caramelized onions---done
tasty bacon-- done
tasty ham-- done
tasty chicken-- done
hamwich -- done
jerky sandwich --done

cucina_vegana's --done
butter carrots -- done
roasted potatoes -- done
tasty asparagus -- done
tasty veggie -- done
classic and classic vegan -- done
tofu -- done
blueberry jam and blueberry sandwich --done
gourmet meat and gourmet vegan --done

CLUB ==done
BLT -- done


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Class List</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

FrameObserver

HdrThread

QHdrCamera

QNativeCamera

VideoSurface	Receives the frames from the camera

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>

repo_name: snapshot/QHdrCamera


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Member List</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

FrameObserver Member List

This is the complete list of members for FrameObserver, including all inherited members.

updateFrame(const QVideoFrame &frame)=0 (defined in FrameObserver)	FrameObserver	 [pure virtual]

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: FrameObserver Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

Public Member Functions

FrameObserver Class Reference

Inheritance diagram for FrameObserver:

  <map id="FrameObserver_map" name="FrameObserver_map">
<area href="class_q_native_camera.html" alt="QNativeCamera" shape="rect" coords="0,56,102,80"/>
<area href="class_q_hdr_camera.html" alt="QHdrCamera" shape="rect" coords="0,112,102,136"/>
</map>

List of all members.

Public Member Functions

virtual bool 	updateFrame (const QVideoFrame &frame)=0

The documentation for this class was generated from the following file:

qnativecamera.h

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Member List</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

HdrThread Member List

This is the complete list of members for HdrThread, including all inherited members.

HdrThread(QImage *, QImage *) (defined in HdrThread)	HdrThread

run() (defined in HdrThread)	HdrThread	 [protected]

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: HdrThread Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

Public Member Functions |
Protected Member Functions

HdrThread Class Reference

List of all members.

Public Member Functions

 	HdrThread (QImage *, QImage *)

Protected Member Functions

void 	run ()

The documentation for this class was generated from the following files:

qhdrcamera.h

qhdrcamera.cpp

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Member List</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

QHdrCamera Member List

This is the complete list of members for QHdrCamera, including all inherited members.

ActiveState enum value (defined in QNativeCamera)	QNativeCamera

add(QVector< QImage * > &ins, QImage &out, bool average=true) (defined in QHdrCamera)	QHdrCamera	 [static]

availableDevices	QNativeCamera

availableDevices() const  (defined in QNativeCamera)	QNativeCamera

brightness(const char r, const char g, const char b) (defined in QHdrCamera)	QHdrCamera	 [static]

cameraState	QNativeCamera

cameraState() const  (defined in QNativeCamera)	QNativeCamera	 [protected]

cameraStateChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

cameraStateChanged(QCamera::State state)	QNativeCamera	 [slot]

captureImage()	QHdrCamera	 [virtual, slot]

currentDevice	QNativeCamera

currentDevice() const  (defined in QNativeCamera)	QNativeCamera	 [protected]

currentDeviceChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

destroyResources()	QNativeCamera	 [protected]

digitalZoomChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

emitImageSavedSignal()	QNativeCamera	 [slot]

exposureCompensation (defined in QNativeCamera)	QNativeCamera

exposureCompensation() (defined in QNativeCamera)	QNativeCamera

exposureCompensationChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

exposureModeChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

exposureRange (defined in QHdrCamera)	QHdrCamera

exposureRange() (defined in QHdrCamera)	QHdrCamera

exposureRangeChanged(qreal value) (defined in QHdrCamera)	QHdrCamera	 [signal]

finished(QString pathResultImage, QString pathOriginalImage) (defined in QHdrCamera)	QHdrCamera	 [signal]

flashModeChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

frontCamera	QNativeCamera

frontCamera() const  (defined in QNativeCamera)	QNativeCamera	 [protected]

frontCameraChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

gauss(QImage &in, QImage &out, double sigma=0.2) (defined in QHdrCamera)	QHdrCamera	 [static]

gray(const float r, const float g, const float b) (defined in QHdrCamera)	QHdrCamera	 [static]

handleImageSaved(int id, const QString &fileName)	QNativeCamera	 [slot]

i_preview (defined in QNativeCamera)	QNativeCamera	 [protected]

imageExposed(int) (defined in QNativeCamera)	QNativeCamera	 [virtual, slot]

imageSaved(const QString &fileName) (defined in QNativeCamera)	QNativeCamera	 [signal]

isoValueChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

laplace(QImage &in, QImage &out) (defined in QHdrCamera)	QHdrCamera	 [static]

LoadedState enum value (defined in QNativeCamera)	QNativeCamera

locked() (defined in QNativeCamera)	QNativeCamera	 [signal]

lockFailed() (defined in QNativeCamera)	QNativeCamera	 [signal]

m_camera (defined in QNativeCamera)	QNativeCamera	 [protected]

m_cameraImageCapture (defined in QNativeCamera)	QNativeCamera	 [protected]

m_currentDevice (defined in QNativeCamera)	QNativeCamera	 [protected]

m_exposureCompensation (defined in QNativeCamera)	QNativeCamera	 [protected]

m_frontCamera (defined in QNativeCamera)	QNativeCamera	 [protected]

m_galleryImage (defined in QNativeCamera)	QNativeCamera	 [protected]

m_imageFrame (defined in QNativeCamera)	QNativeCamera	 [protected]

m_incomingFrameCounter (defined in QNativeCamera)	QNativeCamera	 [protected]

m_mediaRecorder (defined in QNativeCamera)	QNativeCamera	 [protected]

m_preview (defined in QNativeCamera)	QNativeCamera	 [protected]

m_processedFrameCounter (defined in QNativeCamera)	QNativeCamera	 [protected]

m_resolution (defined in QNativeCamera)	QNativeCamera	 [protected]

m_videoSurface (defined in QNativeCamera)	QNativeCamera	 [protected]

maximumDigitalZoomChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

merging() (defined in QHdrCamera)	QHdrCamera	 [signal]

mul(QVector< QImage * > &ins, QImage &out, int k=0) (defined in QHdrCamera)	QHdrCamera	 [static]

paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)	QNativeCamera	 [virtual]

preview (defined in QNativeCamera)	QNativeCamera

preview() (defined in QNativeCamera)	QNativeCamera

processedShot1() (defined in QHdrCamera)	QHdrCamera	 [signal]

processedShot2() (defined in QHdrCamera)	QHdrCamera	 [signal]

processedShot3() (defined in QHdrCamera)	QHdrCamera	 [signal]

QHdrCamera(QDeclarativeItem *parent=0) (defined in QHdrCamera)	QHdrCamera	 [explicit]

QNativeCamera(QDeclarativeItem *parent=0) (defined in QNativeCamera)	QNativeCamera	 [explicit]

resolution (defined in QNativeCamera)	QNativeCamera

resolution() (defined in QNativeCamera)	QNativeCamera

resolutionChanged(QSize resolution) (defined in QNativeCamera)	QNativeCamera	 [signal]

saturation(const float r, const float g, const float b) (defined in QHdrCamera)	QHdrCamera	 [static]

setExposureCompensation(qreal) (defined in QNativeCamera)	QNativeCamera

setExposureRange(qreal value) (defined in QHdrCamera)	QHdrCamera

setPreview(bool value) (defined in QNativeCamera)	QNativeCamera

setResolution(QSize &value) (defined in QNativeCamera)	QNativeCamera

setShots(unsigned short value) (defined in QHdrCamera)	QHdrCamera

short (defined in QHdrCamera)	QHdrCamera

shots() (defined in QHdrCamera)	QHdrCamera

shotsChanged(int value) (defined in QHdrCamera)	QHdrCamera	 [signal]

start(const QString &device)	QNativeCamera	 [slot]

started() (defined in QHdrCamera)	QHdrCamera	 [signal]

State enum name (defined in QNativeCamera)	QNativeCamera

stop()	QNativeCamera	 [slot]

supportedExposureModesChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

supportedFlashModesChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

supportedIsoValuesChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

supportedWhiteBalanceModesChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

UnloadedState enum value (defined in QNativeCamera)	QNativeCamera

updateFrame(const QVideoFrame &frame)	QNativeCamera	 [virtual]

whiteBalanceModeChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

~QNativeCamera()	QNativeCamera

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: QHdrCamera Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

Public Slots |
Signals |
Public Member Functions |
Static Public Member Functions |
Properties

QHdrCamera Class Reference

Inheritance diagram for QHdrCamera:

  <map id="QHdrCamera_map" name="QHdrCamera_map">
<area href="class_q_native_camera.html" alt="QNativeCamera" shape="rect" coords="0,56,102,80"/>
<area href="class_frame_observer.html" alt="FrameObserver" shape="rect" coords="0,0,102,24"/>
</map>

List of all members.

Public Slots

void 	captureImage ()

Signals

void 	started ()

void 	finished (QString pathResultImage, QString pathOriginalImage)

void 	merging ()

void 	shotsChanged (int value)

void 	exposureRangeChanged (qreal value)

void 	processedShot1 ()

void 	processedShot2 ()

void 	processedShot3 ()

Public Member Functions

 	QHdrCamera (QDeclarativeItem *parent=0)

unsigned short 	shots ()

void 	setShots (unsigned short value)

qreal 	exposureRange ()

void 	setExposureRange (qreal value)

Static Public Member Functions

static float 	brightness (const char r, const char g, const char b)

static float 	gray (const float r, const float g, const float b)

static float 	saturation (const float r, const float g, const float b)

static void 	laplace (QImage &in, QImage &out)

static int 	gauss (QImage &in, QImage &out, double sigma=0.2)

static void 	mul (QVector< QImage * > &ins, QImage &out, int k=0)

static void 	add (QVector< QImage * > &ins, QImage &out, bool average=true)

Properties

qreal 	exposureRange

unsigned 	short

Member Function Documentation

          void QHdrCamera::captureImage
          (
          	)
           [virtual, slot]

Capture image with the currently set attributes.

Reimplemented from QNativeCamera.

The documentation for this class was generated from the following files:

qhdrcamera.h

qhdrcamera.cpp

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Member List</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

QNativeCamera Member List

This is the complete list of members for QNativeCamera, including all inherited members.

ActiveState enum value (defined in QNativeCamera)	QNativeCamera

availableDevices	QNativeCamera

availableDevices() const  (defined in QNativeCamera)	QNativeCamera

cameraState	QNativeCamera

cameraState() const  (defined in QNativeCamera)	QNativeCamera	 [protected]

cameraStateChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

cameraStateChanged(QCamera::State state)	QNativeCamera	 [slot]

captureImage()	QNativeCamera	 [virtual, slot]

currentDevice	QNativeCamera

currentDevice() const  (defined in QNativeCamera)	QNativeCamera	 [protected]

currentDeviceChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

destroyResources()	QNativeCamera	 [protected]

digitalZoomChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

emitImageSavedSignal()	QNativeCamera	 [slot]

exposureCompensation (defined in QNativeCamera)	QNativeCamera

exposureCompensation() (defined in QNativeCamera)	QNativeCamera

exposureCompensationChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

exposureModeChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

flashModeChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

frontCamera	QNativeCamera

frontCamera() const  (defined in QNativeCamera)	QNativeCamera	 [protected]

frontCameraChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

handleImageSaved(int id, const QString &fileName)	QNativeCamera	 [slot]

i_preview (defined in QNativeCamera)	QNativeCamera	 [protected]

imageAvailable(int, QVideoFrame) (defined in QNativeCamera)	QNativeCamera	 [virtual, slot]

imageCaptured(int id, const QImage &preview) (defined in QNativeCamera)	QNativeCamera	 [virtual, slot]

imageExposed(int) (defined in QNativeCamera)	QNativeCamera	 [virtual, slot]

imageSaved(const QString &fileName) (defined in QNativeCamera)	QNativeCamera	 [signal]

isoValueChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

LoadedState enum value (defined in QNativeCamera)	QNativeCamera

locked() (defined in QNativeCamera)	QNativeCamera	 [signal]

lockFailed() (defined in QNativeCamera)	QNativeCamera	 [signal]

m_camera (defined in QNativeCamera)	QNativeCamera	 [protected]

m_cameraImageCapture (defined in QNativeCamera)	QNativeCamera	 [protected]

m_currentDevice (defined in QNativeCamera)	QNativeCamera	 [protected]

m_exposureCompensation (defined in QNativeCamera)	QNativeCamera	 [protected]

m_frontCamera (defined in QNativeCamera)	QNativeCamera	 [protected]

m_galleryImage (defined in QNativeCamera)	QNativeCamera	 [protected]

m_imageFrame (defined in QNativeCamera)	QNativeCamera	 [protected]

m_incomingFrameCounter (defined in QNativeCamera)	QNativeCamera	 [protected]

m_mediaRecorder (defined in QNativeCamera)	QNativeCamera	 [protected]

m_preview (defined in QNativeCamera)	QNativeCamera	 [protected]

m_processedFrameCounter (defined in QNativeCamera)	QNativeCamera	 [protected]

m_resolution (defined in QNativeCamera)	QNativeCamera	 [protected]

m_videoSurface (defined in QNativeCamera)	QNativeCamera	 [protected]

maximumDigitalZoomChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)	QNativeCamera	 [virtual]

preview (defined in QNativeCamera)	QNativeCamera

preview() (defined in QNativeCamera)	QNativeCamera

QNativeCamera(QDeclarativeItem *parent=0) (defined in QNativeCamera)	QNativeCamera	 [explicit]

resolution (defined in QNativeCamera)	QNativeCamera

resolution() (defined in QNativeCamera)	QNativeCamera

resolutionChanged(QSize resolution) (defined in QNativeCamera)	QNativeCamera	 [signal]

setExposureCompensation(qreal) (defined in QNativeCamera)	QNativeCamera

setPreview(bool value) (defined in QNativeCamera)	QNativeCamera

setResolution(QSize &value) (defined in QNativeCamera)	QNativeCamera

start(const QString &device)	QNativeCamera	 [slot]

State enum name (defined in QNativeCamera)	QNativeCamera

stop()	QNativeCamera	 [slot]

supportedExposureModesChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

supportedFlashModesChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

supportedIsoValuesChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

supportedWhiteBalanceModesChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

UnloadedState enum value (defined in QNativeCamera)	QNativeCamera

updateFrame(const QVideoFrame &frame)	QNativeCamera	 [virtual]

whiteBalanceModeChanged() (defined in QNativeCamera)	QNativeCamera	 [signal]

~QNativeCamera()	QNativeCamera

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: QNativeCamera Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

Public Types |
Public Slots |
Signals |
Public Member Functions |
Protected Member Functions |
Protected Attributes |
Properties

QNativeCamera Class Reference

Inheritance diagram for QNativeCamera:

  <map id="QNativeCamera_map" name="QNativeCamera_map">
<area href="class_frame_observer.html" alt="FrameObserver" shape="rect" coords="0,0,102,24"/>
<area href="class_q_hdr_camera.html" alt="QHdrCamera" shape="rect" coords="0,112,102,136"/>
</map>

List of all members.

Public Types

enum  	State { ActiveState =  QCamera::ActiveState,
LoadedState =  QCamera::LoadedState,
UnloadedState =  QCamera::UnloadedState
 }

Public Slots

void 	start (const QString &device)

void 	stop ()

void 	cameraStateChanged (QCamera::State state)

void 	handleImageSaved (int id, const QString &fileName)

virtual void 	captureImage ()

virtual void 	imageAvailable (int, QVideoFrame)

virtual void 	imageCaptured (int id, const QImage &preview)

virtual void 	imageExposed (int)

void 	emitImageSavedSignal ()

Signals

void 	resolutionChanged (QSize resolution)

void 	digitalZoomChanged ()

void 	maximumDigitalZoomChanged ()

void 	exposureCompensationChanged ()

void 	exposureModeChanged ()

void 	supportedExposureModesChanged ()

void 	flashModeChanged ()

void 	supportedFlashModesChanged ()

void 	locked ()

void 	lockFailed ()

void 	isoValueChanged ()

void 	supportedIsoValuesChanged ()

void 	imageSaved (const QString &fileName)

void 	cameraStateChanged ()

void 	whiteBalanceModeChanged ()

void 	supportedWhiteBalanceModesChanged ()

void 	currentDeviceChanged ()

void 	frontCameraChanged ()

Public Member Functions

 	QNativeCamera (QDeclarativeItem *parent=0)

 	~QNativeCamera ()

QStringList 	availableDevices () const

virtual void 	paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)

virtual bool 	updateFrame (const QVideoFrame &frame)

QSize 	resolution ()

void 	setResolution (QSize &value)

qreal 	exposureCompensation ()

void 	setExposureCompensation (qreal)

bool 	preview ()

void 	setPreview (bool value)

Protected Member Functions

void 	destroyResources ()

State 	cameraState () const

QString 	currentDevice () const

bool 	frontCamera () const

Protected Attributes

qreal 	m_exposureCompensation

QCamera * 	m_camera

QString 	m_currentDevice

bool 	m_frontCamera

QCameraImageCapture * 	m_cameraImageCapture

QMediaRecorder * 	m_mediaRecorder

VideoSurface * 	m_videoSurface

unsigned int 	m_processedFrameCounter

unsigned int 	m_incomingFrameCounter

QImage 	m_imageFrame

QImage 	i_preview

bool 	m_preview

QString 	m_galleryImage

QSize 	m_resolution

Properties

State 	cameraState

QStringList 	availableDevices

QString 	currentDevice

bool 	frontCamera

bool 	preview

QSize 	resolution

qreal 	exposureCompensation

Constructor & Destructor Documentation

          QNativeCamera::~QNativeCamera
          (
          	)

Destructor.

Member Function Documentation

          void QNativeCamera::cameraStateChanged
          (
          QCamera::State
          state	)
           [slot]

Gets info about the state change. When the camera is loaded we must emit the camera API signal in order to QML side to know about the changed camera.

          void QNativeCamera::captureImage
          (
          	)
           [virtual, slot]

Capture image with the currently set attributes.

Reimplemented in QHdrCamera.

          void QNativeCamera::destroyResources
          (
          	)
           [protected]

Releases and destroyes all camera resources.

          void QNativeCamera::emitImageSavedSignal
          (
          	)
           [slot]

Emits imageSaved signal.

          void QNativeCamera::handleImageSaved
          (
          int
          id,

          const QString &
          fileName

          )
          	 [slot]

Handles the image saved signal. Emits imageSaved signal delayed, this must be done in order to be possible to stop the camera from the QML. If QCameraImageCapture::imageSaved signal was directly connected to the QML and the camera would be stopped, the applcication would crash as the stop will destroye the QCameraImageCapture instance.

          void QNativeCamera::paint
          (
          QPainter *
          painter,

          const QStyleOptionGraphicsItem *
          option,

          QWidget *
          widget

          )
          	 [virtual]

Paints the camera view finder frame.

          void QNativeCamera::start
          (
          const QString &
          device	)
           [slot]

Starts the camera with the given device. The available devices can be queried with the availableDevices method. Starting will release and destroy all earlier camera resources before creating new ones.

          void QNativeCamera::stop
          (
          	)
           [slot]

Stops the camera and releases all resources.

          bool QNativeCamera::updateFrame
          (
          const QVideoFrame &
          frame	)
           [virtual]

Stores the frame as member to allow it to be processed on paint. Returns false when there is error, otherwise returns true.

Implements FrameObserver.

Property Documentation

          QStringList QNativeCamera::availableDevices [read]

Returns the list of available devices. Eg. primary camera and front camera.

          QNativeCamera::State QNativeCamera::cameraState [read]

Returns the state camera is currently.

          QString QNativeCamera::currentDevice [read]

Returns the current camera in use.

          bool QNativeCamera::frontCamera [read]

Returns true if the secondary camera (front) is in use.

The documentation for this class was generated from the following files:

qnativecamera.h

qnativecamera.cpp

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Member List</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

VideoSurface Member List

This is the complete list of members for VideoSurface, including all inherited members.

m_frameObserver (defined in VideoSurface)	VideoSurface	 [protected]

present(const QVideoFrame &frame)	VideoSurface	 [virtual]

start(const QVideoSurfaceFormat &format)	VideoSurface	 [virtual]

supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType=QAbstractVideoBuffer::NoHandle) const 	VideoSurface	 [virtual]

VideoSurface(FrameObserver *frameObserver, QObject *parent=0)	VideoSurface	 [explicit]

~VideoSurface()	VideoSurface	 [virtual]

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: VideoSurface Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

Public Member Functions |
Protected Attributes

VideoSurface Class Reference

Receives the frames from the camera.
 More...

List of all members.

Public Member Functions

 	VideoSurface (FrameObserver *frameObserver, QObject *parent=0)

virtual 	~VideoSurface ()

virtual QList

< QVideoFrame::PixelFormat > 	supportedPixelFormats (QAbstractVideoBuffer::HandleType handleType=QAbstractVideoBuffer::NoHandle) const

virtual bool 	present (const QVideoFrame &frame)

virtual bool 	start (const QVideoSurfaceFormat &format)

Protected Attributes

FrameObserver * 	m_frameObserver

Detailed Description

Receives the frames from the camera.

Copyright (c) 2012 Nokia Corporation.

Constructor & Destructor Documentation

          VideoSurface::VideoSurface
          (
          FrameObserver *
          frameObserver,

          QObject *
          parent = 0

          )
          	 [explicit]

Constructor.

          VideoSurface::~VideoSurface
          (
          	)
           [virtual]

Destructor.

Member Function Documentation

          bool VideoSurface::present
          (
          const QVideoFrame &
          frame	)
           [virtual]

Handles the just taken frame from camera and passes it to the observer. Returning false will stop the surface.

          bool VideoSurface::start
          (
          const QVideoSurfaceFormat &
          format	)
           [virtual]

Starts the receiving of the frames for the view finder.

          QList< QVideoFrame::PixelFormat > VideoSurface::supportedPixelFormats
          (
          QAbstractVideoBuffer::HandleType
          handleType = QAbstractVideoBuffer::NoHandle	)
           const [virtual]

Sets the list of supported pixel formats that we are intrested of.

The documentation for this class was generated from the following files:

videosurface.h

videosurface.cpp

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Class Index</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

Class Index

F | H | Q | V

  F

  H

  Q

	QNativeCamera

  V

FrameObserver   	HdrThread   	QHdrCamera

			VideoSurface

F | H | Q | V

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
/* The standard CSS for doxygen */

body, table, div, p, dl {
	font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
	font-size: 13px;
	line-height: 1.3;
}

/* @group Heading Levels */

h1 {
	font-size: 150%;
}

.title {
	font-size: 150%;
	font-weight: bold;
	margin: 10px 2px;
}

h2 {
	font-size: 120%;
}

h3 {
	font-size: 100%;
}

dt {
	font-weight: bold;
}

div.multicol {
	-moz-column-gap: 1em;
	-webkit-column-gap: 1em;
	-moz-column-count: 3;
	-webkit-column-count: 3;
}

p.startli, p.startdd, p.starttd {
	margin-top: 2px;
}

p.endli {
	margin-bottom: 0px;
}

p.enddd {
	margin-bottom: 4px;
}

p.endtd {
	margin-bottom: 2px;
}

/* @end */

caption {
	font-weight: bold;
}

span.legend {
        font-size: 70%;
        text-align: center;
}

h3.version {
        font-size: 90%;
        text-align: center;
}

div.qindex, div.navtab{
	background-color: #EBEFF6;
	border: 1px solid #A3B4D7;
	text-align: center;
}

div.qindex, div.navpath {
	width: 100%;
	line-height: 140%;
}

div.navtab {
	margin-right: 15px;
}

/* @group Link Styling */

a {
	color: #3D578C;
	font-weight: normal;
	text-decoration: none;
}

.contents a:visited {
	color: #4665A2;
}

a:hover {
	text-decoration: underline;
}

a.qindex {
	font-weight: bold;
}

a.qindexHL {
	font-weight: bold;
	background-color: #9CAFD4;
	color: #ffffff;
	border: 1px double #869DCA;
}

.contents a.qindexHL:visited {
        color: #ffffff;
}

a.el {
	font-weight: bold;
}

a.elRef {
}

a.code, a.code:visited {
	color: #4665A2;
}

a.codeRef, a.codeRef:visited {
	color: #4665A2;
}

/* @end */

dl.el {
	margin-left: -1cm;
}

.fragment {
	font-family: monospace, fixed;
	font-size: 105%;
}

pre.fragment {
	border: 1px solid #C4CFE5;
	background-color: #FBFCFD;
	padding: 4px 6px;
	margin: 4px 8px 4px 2px;
	overflow: auto;
	word-wrap: break-word;
	font-size:  9pt;
	line-height: 125%;
}

div.ah {
	background-color: black;
	font-weight: bold;
	color: #ffffff;
	margin-bottom: 3px;
	margin-top: 3px;
	padding: 0.2em;
	border: solid thin #333;
	border-radius: 0.5em;
	-webkit-border-radius: .5em;
	-moz-border-radius: .5em;
	box-shadow: 2px 2px 3px #999;
	-webkit-box-shadow: 2px 2px 3px #999;
	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
}

div.groupHeader {
	margin-left: 16px;
	margin-top: 12px;
	font-weight: bold;
}

div.groupText {
	margin-left: 16px;
	font-style: italic;
}

body {
	background-color: white;
	color: black;
        margin: 0;
}

div.contents {
	margin-top: 10px;
	margin-left: 8px;
	margin-right: 8px;
}

td.indexkey {
	background-color: #EBEFF6;
	font-weight: bold;
	border: 1px solid #C4CFE5;
	margin: 2px 0px 2px 0;
	padding: 2px 10px;
        white-space: nowrap;
        vertical-align: top;
}

td.indexvalue {
	background-color: #EBEFF6;
	border: 1px solid #C4CFE5;
	padding: 2px 10px;
	margin: 2px 0px;
}

tr.memlist {
	background-color: #EEF1F7;
}

p.formulaDsp {
	text-align: center;
}

img.formulaDsp {

}

img.formulaInl {
	vertical-align: middle;
}

div.center {
	text-align: center;
        margin-top: 0px;
        margin-bottom: 0px;
        padding: 0px;
}

div.center img {
	border: 0px;
}

address.footer {
	text-align: right;
	padding-right: 12px;
}

img.footer {
	border: 0px;
	vertical-align: middle;
}

/* @group Code Colorization */

span.keyword {
	color: #008000
}

span.keywordtype {
	color: #604020
}

span.keywordflow {
	color: #e08000
}

span.comment {
	color: #800000
}

span.preprocessor {
	color: #806020
}

span.stringliteral {
	color: #002080
}

span.charliteral {
	color: #008080
}

span.vhdldigit {
	color: #ff00ff
}

span.vhdlchar {
	color: #000000
}

span.vhdlkeyword {
	color: #700070
}

span.vhdllogic {
	color: #ff0000
}

/* @end */

/*
.search {
	color: #003399;
	font-weight: bold;
}

form.search {
	margin-bottom: 0px;
	margin-top: 0px;
}

input.search {
	font-size: 75%;
	color: #000080;
	font-weight: normal;
	background-color: #e8eef2;
}
*/

td.tiny {
	font-size: 75%;
}

.dirtab {
	padding: 4px;
	border-collapse: collapse;
	border: 1px solid #A3B4D7;
}

th.dirtab {
	background: #EBEFF6;
	font-weight: bold;
}

hr {
	height: 0px;
	border: none;
	border-top: 1px solid #4A6AAA;
}

hr.footer {
	height: 1px;
}

/* @group Member Descriptions */

table.memberdecls {
	border-spacing: 0px;
	padding: 0px;
}

.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
	background-color: #F9FAFC;
	border: none;
	margin: 4px;
	padding: 1px 0 0 8px;
}

.mdescLeft, .mdescRight {
	padding: 0px 8px 4px 8px;
	color: #555;
}

.memItemLeft, .memItemRight, .memTemplParams {
	border-top: 1px solid #C4CFE5;
}

.memItemLeft, .memTemplItemLeft {
        white-space: nowrap;
}

.memItemRight {
	width: 100%;
}

.memTemplParams {
	color: #4665A2;
        white-space: nowrap;
}

/* @end */

/* @group Member Details */

/* Styles for detailed member documentation */

.memtemplate {
	font-size: 80%;
	color: #4665A2;
	font-weight: normal;
	margin-left: 9px;
}

.memnav {
	background-color: #EBEFF6;
	border: 1px solid #A3B4D7;
	text-align: center;
	margin: 2px;
	margin-right: 15px;
	padding: 2px;
}

.mempage {
	width: 100%;
}

.memitem {
	padding: 0;
	margin-bottom: 10px;
	margin-right: 5px;
}

.memname {
        white-space: nowrap;
        font-weight: bold;
        margin-left: 6px;
}

.memproto, dl.reflist dt {
        border-top: 1px solid #A8B8D9;
        border-left: 1px solid #A8B8D9;
        border-right: 1px solid #A8B8D9;
        padding: 6px 0px 6px 0px;
        color: #253555;
        font-weight: bold;
        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
        /* opera specific markup */
        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
        border-top-right-radius: 8px;
        border-top-left-radius: 8px;
        /* firefox specific markup */
        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
        -moz-border-radius-topright: 8px;
        -moz-border-radius-topleft: 8px;
        /* webkit specific markup */
        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
        -webkit-border-top-right-radius: 8px;
        -webkit-border-top-left-radius: 8px;
        background-image:url('nav_f.png');
        background-repeat:repeat-x;
        background-color: #E2E8F2;

}

.memdoc, dl.reflist dd {
        border-bottom: 1px solid #A8B8D9;
        border-left: 1px solid #A8B8D9;
        border-right: 1px solid #A8B8D9;
        padding: 2px 5px;
        background-color: #FBFCFD;
        border-top-width: 0;
        /* opera specific markup */
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
        /* firefox specific markup */
        -moz-border-radius-bottomleft: 8px;
        -moz-border-radius-bottomright: 8px;
        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
        background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
        /* webkit specific markup */
        -webkit-border-bottom-left-radius: 8px;
        -webkit-border-bottom-right-radius: 8px;
        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
        background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
}

dl.reflist dt {
        padding: 5px;
}

dl.reflist dd {
        margin: 0px 0px 10px 0px;
        padding: 5px;
}

.paramkey {
	text-align: right;
}

.paramtype {
	white-space: nowrap;
}

.paramname {
	color: #602020;
	white-space: nowrap;
}
.paramname em {
	font-style: normal;
}

.params, .retval, .exception, .tparams {
        border-spacing: 6px 2px;
}

.params .paramname, .retval .paramname {
        font-weight: bold;
        vertical-align: top;
}

.params .paramtype {
        font-style: italic;
        vertical-align: top;
}

.params .paramdir {
        font-family: "courier new",courier,monospace;
        vertical-align: top;
}

/* @end */

/* @group Directory (tree) */

/* for the tree view */

.ftvtree {
	font-family: sans-serif;
	margin: 0px;
}

/* these are for tree view when used as main index */

.directory {
	font-size: 9pt;
	font-weight: bold;
	margin: 5px;
}

.directory h3 {
	margin: 0px;
	margin-top: 1em;
	font-size: 11pt;
}

/*
The following two styles can be used to replace the root node title
with an image of your choice.  Simply uncomment the next two styles,
specify the name of your image and be sure to set 'height' to the
proper pixel height of your image.
*/

/*
.directory h3.swap {
	height: 61px;
	background-repeat: no-repeat;
	background-image: url("yourimage.gif");
}
.directory h3.swap span {
	display: none;
}
*/

.directory > h3 {
	margin-top: 0;
}

.directory p {
	margin: 0px;
	white-space: nowrap;
}

.directory div {
	display: none;
	margin: 0px;
}

.directory img {
	vertical-align: -30%;
}

/* these are for tree view when not used as main index */

.directory-alt {
	font-size: 100%;
	font-weight: bold;
}

.directory-alt h3 {
	margin: 0px;
	margin-top: 1em;
	font-size: 11pt;
}

.directory-alt > h3 {
	margin-top: 0;
}

.directory-alt p {
	margin: 0px;
	white-space: nowrap;
}

.directory-alt div {
	display: none;
	margin: 0px;
}

.directory-alt img {
	vertical-align: -30%;
}

/* @end */

div.dynheader {
        margin-top: 8px;
}

address {
	font-style: normal;
	color: #2A3D61;
}

table.doxtable {
	border-collapse:collapse;
}

table.doxtable td, table.doxtable th {
	border: 1px solid #2D4068;
	padding: 3px 7px 2px;
}

table.doxtable th {
	background-color: #374F7F;
	color: #FFFFFF;
	font-size: 110%;
	padding-bottom: 4px;
	padding-top: 5px;
	text-align:left;
}

table.fieldtable {
        width: 100%;
        margin-bottom: 10px;
        border: 1px solid #A8B8D9;
        border-spacing: 0px;
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        border-radius: 4px;
        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}

.fieldtable td, .fieldtable th {
        padding: 3px 7px 2px;
}

.fieldtable td.fieldtype, .fieldtable td.fieldname {
        white-space: nowrap;
        border-right: 1px solid #A8B8D9;
        border-bottom: 1px solid #A8B8D9;
        vertical-align: top;
}

.fieldtable td.fielddoc {
        border-bottom: 1px solid #A8B8D9;
        width: 100%;
}

.fieldtable tr:last-child td {
        border-bottom: none;
}

.fieldtable th {
        background-image:url('nav_f.png');
        background-repeat:repeat-x;
        background-color: #E2E8F2;
        font-size: 90%;
        color: #253555;
        padding-bottom: 4px;
        padding-top: 5px;
        text-align:left;
        -moz-border-radius-topleft: 4px;
        -moz-border-radius-topright: 4px;
        -webkit-border-top-left-radius: 4px;
        -webkit-border-top-right-radius: 4px;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom: 1px solid #A8B8D9;
}

.tabsearch {
	top: 0px;
	left: 10px;
	height: 36px;
	background-image: url('tab_b.png');
	z-index: 101;
	overflow: hidden;
	font-size: 13px;
}

.navpath ul
{
	font-size: 11px;
	background-image:url('tab_b.png');
	background-repeat:repeat-x;
	height:30px;
	line-height:30px;
	color:#8AA0CC;
	border:solid 1px #C2CDE4;
	overflow:hidden;
	margin:0px;
	padding:0px;
}

.navpath li
{
	list-style-type:none;
	float:left;
	padding-left:10px;
	padding-right:15px;
	background-image:url('bc_s.png');
	background-repeat:no-repeat;
	background-position:right;
	color:#364D7C;
}

.navpath li.navelem a
{
	height:32px;
	display:block;
	text-decoration: none;
	outline: none;
}

.navpath li.navelem a:hover
{
	color:#6884BD;
}

.navpath li.footer
{
        list-style-type:none;
        float:right;
        padding-left:10px;
        padding-right:15px;
        background-image:none;
        background-repeat:no-repeat;
        background-position:right;
        color:#364D7C;
        font-size: 8pt;
}

div.summary
{
	float: right;
	font-size: 8pt;
	padding-right: 5px;
	width: 50%;
	text-align: right;
}

div.summary a
{
	white-space: nowrap;
}

div.ingroups
{
	margin-left: 5px;
	font-size: 8pt;
	padding-left: 5px;
	width: 50%;
	text-align: left;
}

div.ingroups a
{
	white-space: nowrap;
}

div.header
{
        background-image:url('nav_h.png');
        background-repeat:repeat-x;
	background-color: #F9FAFC;
	margin:  0px;
	border-bottom: 1px solid #C4CFE5;
}

div.headertitle
{
	padding: 5px 5px 5px 7px;
}

dl
{
        padding: 0 0 0 10px;
}

dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
{
        border-left:4px solid;
        padding: 0 0 0 6px;
}

dl.note
{
        border-color: #D0C000;
}

dl.warning, dl.attention
{
        border-color: #FF0000;
}

dl.pre, dl.post, dl.invariant
{
        border-color: #00D000;
}

dl.deprecated
{
        border-color: #505050;
}

dl.todo
{
        border-color: #00C0E0;
}

dl.test
{
        border-color: #3030E0;
}

dl.bug
{
        border-color: #C08050;
}

#projectlogo
{
	text-align: center;
	vertical-align: bottom;
	border-collapse: separate;
}

#projectlogo img
{
	border: 0px none;
}

#projectname
{
	font: 300% Tahoma, Arial,sans-serif;
	margin: 0px;
	padding: 2px 0px;
}

#projectbrief
{
	font: 120% Tahoma, Arial,sans-serif;
	margin: 0px;
	padding: 0px;
}

#projectnumber
{
	font: 50% Tahoma, Arial,sans-serif;
	margin: 0px;
	padding: 0px;
}

#titlearea
{
	padding: 0px;
	margin: 0px;
	width: 100%;
	border-bottom: 1px solid #5373B4;
}

.image
{
        text-align: center;
}

.dotgraph
{
        text-align: center;
}

.mscgraph
{
        text-align: center;
}

.caption
{
	font-weight: bold;
}

div.zoom
{
	border: 1px solid #90A5CE;
}

dl.citelist {
        margin-bottom:50px;
}

dl.citelist dt {
        color:#334975;
        float:left;
        font-weight:bold;
        margin-right:10px;
        padding:5px;
}

dl.citelist dd {
        margin:2px 0;
        padding:5px 0;
}

@media print
{
  #top { display: none; }
  #side-nav { display: none; }
  #nav-path { display: none; }
  body { overflow:visible; }
  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
  .summary { display: none; }
  .memitem { page-break-inside: avoid; }
  #doc-content
  {
    margin-left:0 !important;
    height:auto !important;
    width:auto !important;
    overflow:inherit;
    display:inline;
  }
  pre.fragment
  {
    overflow: visible;
    text-wrap: unrestricted;
    white-space: -moz-pre-wrap; /* Moz */
    white-space: -pre-wrap; /* Opera 4-6 */
    white-space: -o-pre-wrap; /* Opera 7 */
    white-space: pre-wrap; /* CSS3  */
    word-wrap: break-word; /* IE 5.5+ */
  }
}


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: File List</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

File List

Here is a list of all documented files with brief descriptions:

qhdrcamera.h [code]

qnativecamera.h [code]

videosurface.h [code]

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Class Members</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

All

Functions

Properties

Here is a list of all documented class members with links to the class documentation for each member:

availableDevices
: QNativeCamera

cameraState
: QNativeCamera

cameraStateChanged()
: QNativeCamera

captureImage()
: QNativeCamera
, QHdrCamera

currentDevice
: QNativeCamera

destroyResources()
: QNativeCamera

emitImageSavedSignal()
: QNativeCamera

frontCamera
: QNativeCamera

handleImageSaved()
: QNativeCamera

paint()
: QNativeCamera

present()
: VideoSurface

start()
: QNativeCamera
, VideoSurface

stop()
: QNativeCamera

supportedPixelFormats()
: VideoSurface

updateFrame()
: QNativeCamera

VideoSurface()
: VideoSurface

~QNativeCamera()
: QNativeCamera

~VideoSurface()
: VideoSurface

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Class Members - Functions</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

All

Functions

Properties

cameraStateChanged()
: QNativeCamera

captureImage()
: QNativeCamera
, QHdrCamera

destroyResources()
: QNativeCamera

emitImageSavedSignal()
: QNativeCamera

handleImageSaved()
: QNativeCamera

paint()
: QNativeCamera

present()
: VideoSurface

start()
: QNativeCamera
, VideoSurface

stop()
: QNativeCamera

supportedPixelFormats()
: VideoSurface

updateFrame()
: QNativeCamera

VideoSurface()
: VideoSurface

~QNativeCamera()
: QNativeCamera

~VideoSurface()
: VideoSurface

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Class Members - Properties</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

All

Functions

Properties

availableDevices
: QNativeCamera

cameraState
: QNativeCamera

currentDevice
: QNativeCamera

frontCamera
: QNativeCamera

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Class Hierarchy</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

FrameObserver

QNativeCamera

QHdrCamera

HdrThread

VideoSurface

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: Main Page</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

QHdrCamera Documentation

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>


code:
#!/usr/bin/perl

%subst = ( );
$quiet   = 0;

while ( @ARGV ) {
  $_ = shift @ARGV;
  if ( s/^-// ) {
    if ( /^l(.*)/ ) {
      $v = ($1 eq "") ? shift @ARGV : $1;
      ($v =~ /\/$/) || ($v .= "/");
      $_ = $v;
      if ( /(.+)\@(.+)/ ) {
        if ( exists $subst{$1} ) {
          $subst{$1} = $2;
        } else {
          print STDERR "Unknown tag file $1 given with option -l\n";
          &usage();
        }
      } else {
        print STDERR "Argument $_ is invalid for option -l\n";
        &usage();
      }
    }
    elsif ( /^q/ ) {
      $quiet = 1;
    }
    elsif ( /^\?|^h/ ) {
      &usage();
    }
    else {
      print STDERR "Illegal option -$_\n";
      &usage();
    }
  }
  else {
    push (@files, $_ );
  }
}

foreach $sub (keys %subst)
{
  if ( $subst{$sub} eq "" )
  {
    print STDERR "No substitute given for tag file `$sub'\n";
    &usage();
  }
  elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" )
  {
    print "Substituting $subst{$sub} for each occurrence of tag file $sub\n";
  }
}

if ( ! @files ) {
  if (opendir(D,".")) {
    foreach $file ( readdir(D) ) {
      $match = ".html";
      next if ( $file =~ /^\.\.?$/ );
      ($file =~ /$match/) && (push @files, $file);
      ($file =~ /\.svg/) && (push @files, $file);
      ($file =~ "navtree.js") && (push @files, $file);
    }
    closedir(D);
  }
}

if ( ! @files ) {
  print STDERR "Warning: No input files given and none found!\n";
}

foreach $f (@files)
{
  if ( ! $quiet ) {
    print "Editing: $f...\n";
  }
  $oldf = $f;
  $f   .= ".bak";
  unless (rename $oldf,$f) {
    print STDERR "Error: cannot rename file $oldf\n";
    exit 1;
  }
  if (open(F,"<$f")) {
    unless (open(G,">$oldf")) {
      print STDERR "Error: opening file $oldf for writing\n";
      exit 1;
    }
    if ($oldf ne "tree.js") {
      while (<F>) {
        s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (xlink:href|href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g;
        print G "$_";
      }
    }
    else {
      while (<F>) {
        s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g;
        print G "$_";
      }
    }
  }
  else {
    print STDERR "Warning file $f does not exist\n";
  }
  unlink $f;
}

sub usage {
  print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n";
  print STDERR "Options:\n";
  print STDERR "     -l tagfile\@linkName   tag file + URL or directory \n";
  print STDERR "     -q                    Quiet mode\n\n";
  exit 1;
}

path: documentation/installdox


code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>QHdrCamera: qhdrcamera.h Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>

QHdrCamera
    1.9.0

Main Page

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

qhdrcamera.h

00001 #ifndef QHDRCAMERA_H
00002 #define QHDRCAMERA_H
00003
00004 #include "QNativeCamera.h"
00005 #include <QGenericMatrix>
00006 #include <QThreadPool>
00007
00008 class HdrThread :public QRunnable
00009 {
00010
00011 public:
00012     HdrThread(QImage*,QImage*);
00013
00014 private:
00015     QImage* image;
00016     QImage* result;
00017
00018 protected:
00019     void run();
00020 };
00021
00022
00023 class QHdrCamera : public QNativeCamera
00024 {
00025     Q_OBJECT
00026     Q_CLASSINFO("Author", "Sebastiano Galazzo")
00027     Q_CLASSINFO("Email", "sebastiano.galazzo@gmail.com")
00028
00029     Q_PROPERTY(qreal exposureRange  READ exposureRange  WRITE setExposureRange  NOTIFY exposureRangeChanged)
00030     Q_PROPERTY(unsigned short shots  READ shots  WRITE setShots NOTIFY shotsChanged)
00031
00032 public:
00033     explicit QHdrCamera(QDeclarativeItem *parent = 0);
00034
00035     unsigned short shots();
00036     void setShots(unsigned short value);
00037
00038     qreal exposureRange();
00039     void setExposureRange(qreal value);
00040
00041     static float brightness( const char r, const char g, const char b);
00042     //static float gray( const char r, const char g, const char b);
00043     static float gray( const float r, const float g, const float b);
00044     static float saturation( const float r, const float g, const float b);
00045     static void laplace(QImage& in, QImage& out);
00046     //static int gauss(QImage& in, QImage& out, double sigma=0.35);
00047     static int gauss(QImage& in, QImage& out, double sigma=0.2);
00048     static void mul(QVector<QImage*>& ins, QImage& out, int k=0);
00049     static void add(QVector<QImage*>& ins, QImage& out, bool average=true);
00050
00051 signals:
00052     void started();
00053     void finished(QString pathResultImage, QString pathOriginalImage);
00054     void merging();
00055
00056     void shotsChanged(int value);
00057     void exposureRangeChanged(qreal value);
00058
00059     void processedShot1();
00060     void processedShot2();
00061     void processedShot3();
00062
00063 public slots:
00064     void captureImage();
00065
00066 private slots:
00067     void process();
00068     void imageAvailable(int,QVideoFrame);
00069     void imageCaptured ( int id, const QImage & preview );
00070
00071 private:
00072     /*QImage shot1;
00073     QImage shot2;
00074     QImage shot3;*/
00075     QVector<QImage*> shot;
00076     QVector<QImage*> tShot;
00077
00078     /*QImage tImage1;
00079     QImage tImage2;
00080     QImage tImage3;*/
00081
00082     unsigned short m_shots;
00083     qreal m_exposureRange;
00084
00085     static QMatrix3x3 convol;
00086 };
00087
00088 #endif // QHDRCAMERA_H

 All Classes Functions Properties

<address class="footer">
Generated on Thu May 24 2012 22:25:56 for QHdrCamera by

 1.7.6.1
</address>